Version 2.5.0-dev.5.0

Merge commit '06d3769ac6d775ede7ca87e6ba2f056db93e2e27' into dev
diff --git a/DEPS b/DEPS
index 8aba950..94d2e6e 100644
--- a/DEPS
+++ b/DEPS
@@ -36,7 +36,9 @@
   "chromium_git": "https://chromium.googlesource.com",
   "fuchsia_git": "https://fuchsia.googlesource.com",
 
-  "co19_2_rev": "d2c051f7537e6fe47c8ccf0bd7a7e84b02010a2a",
+  # co19 is a cipd package. Use tests/co19_2/update.sh to update this hash.
+  # It requires access to the dart-build-access group, which EngProd has.
+  "co19_2_rev": "52daae49d7bff80039ff1eea36a24e98c2b9a837",
 
   # As Flutter does, we use Fuchsia's GN and Clang toolchain. These revision
   # should be kept up to date with the revisions pulled by the Flutter engine.
@@ -119,6 +121,7 @@
   "quiver-dart_tag": "2.0.0+1",
   "resource_rev": "f8e37558a1c4f54550aa463b88a6a831e3e33cd6",
   "root_certificates_rev": "16ef64be64c7dfdff2b9f4b910726e635ccc519e",
+  "rust_revision": "60960a260f7b5c695fd0717311d72ce62dd4eb43",
   "shelf_static_rev": "v0.2.8",
   "shelf_packages_handler_tag": "1.0.4",
   "shelf_tag": "0.7.3+3",
@@ -434,6 +437,17 @@
       "dep_type": "cipd",
   },
 
+  Var("dart_root") + "/buildtools/" + Var("host_os") + "-" + Var("host_cpu") + "/rust": {
+      "packages": [
+          {
+              "package": "fuchsia/rust/${{platform}}",
+              "version": "git_revision:" + Var("rust_revision"),
+          },
+      ],
+      "condition": "(host_os == 'linux' or host_os == 'mac') and host_cpu == 'x64'",
+      "dep_type": "cipd",
+  },
+
   # TODO(37531): Remove these cipd packages and build with sdk instead when
   # benchmark runner gets support for that.
   Var("dart_root") + "/benchmarks/FfiBoringssl/dart/native/out/": {
diff --git a/LICENSE b/LICENSE
index 68bcabf..a3889d5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,33 +1,5 @@
-This license applies to all parts of Dart that are not externally
-maintained libraries. The external maintained libraries used by
-Dart are:
+Copyright 2012, the Dart project authors.
 
-7-Zip - in third_party/7zip
-JSCRE - in runtime/third_party/jscre
-Ant - in third_party/apache_ant
-args4j - in third_party/args4j
-bzip2 - in third_party/bzip2
-Commons IO - in third_party/commons-io
-Commons Lang in third_party/commons-lang
-Eclipse - in third_party/eclipse
-gsutil - in third_party/gsutil
-Guava - in third_party/guava
-hamcrest - in third_party/hamcrest
-Httplib2 - in samples/third_party/httplib2
-JSON - in third_party/json
-JUnit - in third_party/junit
-NSS - in third_party/nss and third_party/net_nss
-Oauth - in samples/third_party/oauth2client
-SQLite - in third_party/sqlite
-weberknecht - in third_party/weberknecht
-zlib - in third_party/zlib
-fest - in third_party/fest
-mockito - in third_party/mockito
-
-The libraries may have their own licenses; we recommend you read them,
-as their terms may differ from the terms below.
-
-Copyright 2012, the Dart project authors. All rights reserved.
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
 met:
diff --git a/benchmarks/Calls/dart/Calls.dart b/benchmarks/Calls/dart/Calls.dart
new file mode 100644
index 0000000..29103c6
--- /dev/null
+++ b/benchmarks/Calls/dart/Calls.dart
@@ -0,0 +1,572 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+// Micro-benchmarks for sync/sync*/async/async* functionality.
+
+import "dart:async";
+
+const int iterationLimitAsync = 200;
+const int sumOfIterationLimitAsync =
+    iterationLimitAsync * (iterationLimitAsync - 1) ~/ 2;
+
+const int iterationLimitSync = 5000;
+const int sumOfIterationLimitSync =
+    iterationLimitSync * (iterationLimitSync - 1) ~/ 2;
+
+main() async {
+  final target = Target();
+  final target2 = Target2();
+  final target3 = Target3();
+
+  // Ensure the call sites will have another target in the ICData.
+  performAwaitCallsClosureTargetPolymorphic(returnAsync);
+  performAwaitCallsClosureTargetPolymorphic(returnFuture);
+  performAwaitCallsClosureTargetPolymorphic(returnFutureOr);
+  performAwaitAsyncCallsInstanceTargetPolymorphic(target);
+  performAwaitAsyncCallsInstanceTargetPolymorphic(target2);
+  performAwaitAsyncCallsInstanceTargetPolymorphic(target3);
+  performAwaitFutureCallsInstanceTargetPolymorphic(target);
+  performAwaitFutureCallsInstanceTargetPolymorphic(target2);
+  performAwaitFutureCallsInstanceTargetPolymorphic(target3);
+  performAwaitFutureOrCallsInstanceTargetPolymorphic(target);
+  performAwaitFutureOrCallsInstanceTargetPolymorphic(target2);
+  performAwaitFutureOrCallsInstanceTargetPolymorphic(target3);
+  performSyncCallsInstanceTargetPolymorphic(target);
+  performSyncCallsInstanceTargetPolymorphic(target2);
+  performSyncCallsInstanceTargetPolymorphic(target3);
+  performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits(target);
+  performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits(target2);
+  performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits(target3);
+
+  performAwaitForIterationPolymorphic(generateNumbersAsyncStar);
+  performAwaitForIterationPolymorphic(generateNumbersAsyncStar2);
+  performAwaitForIterationPolymorphic(generateNumbersManualAsync);
+  performAwaitForIterationPolymorphic(generateNumbersAsyncStarManyYields);
+  performSyncIterationPolymorphic(generateNumbersSyncStar);
+  performSyncIterationPolymorphic(generateNumbersSyncStar2);
+  performSyncIterationPolymorphic(generateNumbersManual);
+  performSyncIterationPolymorphic(generateNumbersSyncStarManyYields);
+
+  await AsyncCallBenchmark('Calls.AwaitAsyncCall', performAwaitAsyncCalls)
+      .report();
+  await AsyncCallBenchmark('Calls.AwaitAsyncCallClosureTargetPolymorphic',
+      () => performAwaitCallsClosureTargetPolymorphic(returnAsync)).report();
+  await AsyncCallBenchmark('Calls.AwaitAsyncCallInstanceTargetPolymorphic',
+      () => performAwaitAsyncCallsInstanceTargetPolymorphic(target)).report();
+
+  await AsyncCallBenchmark('Calls.AwaitFutureCall', performAwaitFutureCalls)
+      .report();
+  await AsyncCallBenchmark('Calls.AwaitFutureCallClosureTargetPolymorphic',
+      () => performAwaitCallsClosureTargetPolymorphic(returnFuture)).report();
+  await AsyncCallBenchmark('Calls.AwaitFutureCallInstanceTargetPolymorphic',
+      () => performAwaitFutureCallsInstanceTargetPolymorphic(target)).report();
+
+  await AsyncCallBenchmark('Calls.AwaitFutureOrCall', performAwaitFutureOrCalls)
+      .report();
+  await AsyncCallBenchmark('Calls.AwaitFutureOrCallClosureTargetPolymorphic',
+      () => performAwaitCallsClosureTargetPolymorphic(returnFutureOr)).report();
+  await AsyncCallBenchmark('Calls.AwaitFutureOrCallInstanceTargetPolymorphic',
+          () => performAwaitFutureOrCallsInstanceTargetPolymorphic(target))
+      .report();
+  await AsyncCallBenchmark(
+          'Calls.AwaitFutureOrCallInstanceTargetPolymorphicManyAwaits',
+          () =>
+              performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits(target))
+      .report();
+
+  await AsyncCallBenchmark('Calls.AwaitForAsyncStarStreamPolymorphic',
+          () => performAwaitForIterationPolymorphic(generateNumbersAsyncStar))
+      .report();
+  await AsyncCallBenchmark(
+      'Calls.AwaitForAsyncStarStreamPolymorphicManyYields',
+      () => performAwaitForIterationPolymorphic(
+          generateNumbersAsyncStarManyYields)).report();
+  await AsyncCallBenchmark('Calls.AwaitForManualStreamPolymorphic',
+          () => performAwaitForIterationPolymorphic(generateNumbersManualAsync))
+      .report();
+
+  await SyncCallBenchmark('Calls.SyncCall', performSyncCalls).report();
+  await SyncCallBenchmark('Calls.SyncCallClosureTarget',
+      () => performSyncCallsClosureTarget(returnSync)).report();
+  await SyncCallBenchmark('Calls.SyncCallInstanceTargetPolymorphic',
+      () => performSyncCallsInstanceTargetPolymorphic(target)).report();
+
+  await SyncCallBenchmark('Calls.IterableSyncStarIterablePolymorphic',
+      () => performSyncIterationPolymorphic(generateNumbersSyncStar)).report();
+  await SyncCallBenchmark('Calls.IterableManualIterablePolymorphic',
+      () => performSyncIterationPolymorphic(generateNumbersManual)).report();
+  await SyncCallBenchmark(
+      'Calls.IterableManualIterablePolymorphicManyYields',
+      () => performSyncIterationPolymorphic(
+          generateNumbersSyncStarManyYields)).report();
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitCallsClosureTargetPolymorphic(
+    FutureOr fun(int count)) async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await fun(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitAsyncCallsInstanceTargetPolymorphic(
+    Target target) async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await target.returnAsync(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitFutureCallsInstanceTargetPolymorphic(
+    Target target) async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await target.returnFuture(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitFutureOrCallsInstanceTargetPolymorphic(
+    Target target) async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await target.returnFutureOr(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitAsyncCalls() async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await returnAsync(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitFutureCalls() async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await returnFuture(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitFutureOrCalls() async {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitAsync; ++i) {
+    sum += await returnFutureOr(i);
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits(Target t) async {
+  int sum = 0;
+  int i = 0;
+
+  final int blockLimit = iterationLimitAsync - (iterationLimitAsync % 80);
+  while (i < blockLimit) {
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+    sum += await t.returnAsync(i++); sum += await t.returnAsync(i++);
+  }
+
+  while (i < iterationLimitAsync) {
+    sum += await t.returnAsync(i++);
+  }
+
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> performAwaitForIterationPolymorphic(
+    Stream<int> fun(int count)) async {
+  int sum = 0;
+  await for (int value in fun(iterationLimitAsync)) {
+    sum += value;
+  }
+  if (sum != sumOfIterationLimitAsync) throw 'BUG';
+  return iterationLimitAsync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+int performSyncCallsClosureTarget(int fun(int count)) {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitSync; ++i) {
+    sum += fun(i);
+  }
+  if (sum != sumOfIterationLimitSync) throw 'BUG';
+  return iterationLimitSync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+int performSyncCallsInstanceTargetPolymorphic(Target target) {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitSync; ++i) {
+    sum += target.returnSync(i);
+  }
+  if (sum != sumOfIterationLimitSync) throw 'BUG';
+  return iterationLimitSync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+int performSyncCalls() {
+  int sum = 0;
+  for (int i = 0; i < iterationLimitSync; ++i) {
+    sum += returnSync(i);
+  }
+  if (sum != sumOfIterationLimitSync) throw 'BUG';
+  return iterationLimitSync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+int performSyncIterationPolymorphic(Iterable<int> fun(int count)) {
+  int sum = 0;
+  for (int value in fun(iterationLimitSync)) {
+    sum += value;
+  }
+  if (sum != sumOfIterationLimitSync) throw 'BUG';
+  return iterationLimitSync;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+FutureOr<int> returnFutureOr(int i) => i;
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> returnFuture(int i) => Future.value(i);
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Future<int> returnAsync(int i) async => i;
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Stream<int> generateNumbersAsyncStar(int limit) async* {
+  for (int i = 0; i < limit; ++i) {
+    yield i;
+  }
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Stream<int> generateNumbersAsyncStar2(int limit) async* {
+  for (int i = 0; i < limit; ++i) {
+    yield i;
+  }
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Stream<int> generateNumbersManualAsync(int limit) {
+  int current = 0;
+  StreamController<int> controller;
+  void emit() {
+    while (true) {
+      if (controller.isPaused || !controller.hasListener) return;
+      if (current < limit) {
+        controller.add(current++);
+      } else {
+        controller.close();
+        return;
+      }
+    }
+  }
+
+  void run() {
+    scheduleMicrotask(emit);
+  }
+
+  controller = StreamController(onListen: run, onResume: run, sync: true);
+  return controller.stream;
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+int returnSync(int i) => i;
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Iterable<int> generateNumbersSyncStar(int limit) sync* {
+  for (int i = 0; i < limit; ++i) {
+    yield i;
+  }
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Iterable<int> generateNumbersSyncStar2(int limit) sync* {
+  for (int i = 0; i < limit; ++i) {
+    yield i;
+  }
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Iterable<int> generateNumbersManual(int limit) =>
+    Iterable<int>.generate(limit, (int i) => i);
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Iterable<int> generateNumbersSyncStarManyYields(int limit) sync* {
+  int i = 0;
+
+  final int blockLimit = limit - (limit % (20 * 7));
+  while (i < blockLimit) {
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+  }
+
+  while (i < limit) {
+    yield i++;
+  }
+}
+
+@pragma('vm:never-inline')
+@pragma('dart2js:noInline')
+Stream<int> generateNumbersAsyncStarManyYields(int limit) async* {
+  int i = 0;
+
+  final int blockLimit = limit - (limit % (20 * 7));
+  while (i < blockLimit) {
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+    yield i++; yield i++; yield i++; yield i++; yield i++; yield i++; yield i++;
+  }
+
+  while (i < limit) {
+    yield i++;
+  }
+}
+
+class Target {
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  FutureOr<int> returnFutureOr(int i) => i;
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  Future<int> returnFuture(int i) => Future.value(i);
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  Future<int> returnAsync(int i) async => i;
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  int returnSync(int i) => i;
+}
+
+class Target2 extends Target {
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  FutureOr<int> returnFutureOr(int i) => i;
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  Future<int> returnFuture(int i) => Future.value(i);
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  Future<int> returnAsync(int i) async => i;
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  int returnSync(int i) => i;
+}
+
+class Target3 extends Target {
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  FutureOr<int> returnFutureOr(int i) => i;
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  Future<int> returnFuture(int i) => Future.value(i);
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  Future<int> returnAsync(int i) async => i;
+
+  @pragma('vm:never-inline')
+  @pragma('dart2js:noInline')
+  int returnSync(int i) => i;
+}
+
+typedef PerformSyncCallsFunction = int Function();
+typedef PerformAsyncCallsFunction = Future<int> Function();
+
+class SyncCallBenchmark {
+  final String name;
+  final PerformSyncCallsFunction performCalls;
+
+  SyncCallBenchmark(this.name, this.performCalls);
+
+  // Returns the number of nanoseconds per call.
+  double measureFor(Duration duration) {
+    final sw = Stopwatch()..start();
+    final durationInMicroseconds = duration.inMicroseconds;
+
+    int numberOfCalls = 0;
+    int totalMicroseconds = 0;
+    do {
+      numberOfCalls += performCalls();
+      totalMicroseconds = sw.elapsedMicroseconds;
+    } while (totalMicroseconds < durationInMicroseconds);
+
+    final int totalNanoseconds = sw.elapsed.inMicroseconds * 1000;
+    return totalNanoseconds / numberOfCalls;
+  }
+
+  // Runs warmup phase, runs benchmark and reports result.
+  void report() {
+    // Warmup for 200 ms.
+    measureFor(const Duration(milliseconds: 100));
+
+    // Run benchmark for 2 seconds.
+    final double nsPerCall = measureFor(const Duration(seconds: 2));
+
+    // Report result.
+    print("$name(RunTimeRaw): $nsPerCall ns.");
+  }
+}
+
+class AsyncCallBenchmark {
+  final String name;
+  final PerformAsyncCallsFunction performCalls;
+
+  AsyncCallBenchmark(this.name, this.performCalls);
+
+  // Returns the number of nanoseconds per call.
+  Future<double> measureFor(Duration duration) async {
+    final sw = Stopwatch()..start();
+    final durationInMicroseconds = duration.inMicroseconds;
+
+    int numberOfCalls = 0;
+    int totalMicroseconds = 0;
+    do {
+      numberOfCalls += await performCalls();
+      totalMicroseconds = sw.elapsedMicroseconds;
+    } while (totalMicroseconds < durationInMicroseconds);
+
+    final int totalNanoseconds = sw.elapsed.inMicroseconds * 1000;
+    return totalNanoseconds / numberOfCalls;
+  }
+
+  // Runs warmup phase, runs benchmark and reports result.
+  Future report() async {
+    // Warmup for 100 ms.
+    await measureFor(const Duration(milliseconds: 100));
+
+    // Run benchmark for 2 seconds.
+    final double nsPerCall = await measureFor(const Duration(seconds: 2));
+
+    // Report result.
+    print("$name(RunTimeRaw): $nsPerCall ns.");
+  }
+}
diff --git a/build/rust/run.py b/build/rust/run.py
new file mode 100755
index 0000000..6bdbea1
--- /dev/null
+++ b/build/rust/run.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+# 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.
+
+# Runs rust tools, overriding the PATH variable so they can locate each other.
+
+import os
+import subprocess
+import sys
+import time
+
+def run(cmd):
+    bindir = os.path.dirname(cmd[0]);
+    env = os.environ
+    if 'PATH' in env:
+      env['PATH'] += os.pathsep + bindir
+    else:
+      env['PATH'] = bindir
+    out = ''
+    err = ''
+    proc = subprocess.Popen(
+        cmd, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    while proc.returncode is None:
+        time.sleep(1)
+        stdout, stderr = proc.communicate()
+        out += stdout
+        err += stderr
+        proc.poll()
+    if proc.returncode == 0:
+      return 0
+    print(out)
+    print(err)
+    return proc.returncode
+
+if __name__ == '__main__':
+    sys.exit(run(sys.argv[1:]))
diff --git a/build/rust/rust.gni b/build/rust/rust.gni
new file mode 100644
index 0000000..6b4caf1
--- /dev/null
+++ b/build/rust/rust.gni
@@ -0,0 +1,39 @@
+# Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+# 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.
+
+template("rust_library") {
+  manifest = rebase_path("Cargo.toml")
+  if (defined(invoker.manifest)) {
+    manifest = invoker.manifest
+  }
+
+  cmd = [
+    rebase_path("//buildtools/${current_os}-${current_cpu}/rust/bin/cargo"),
+    "build",
+    "--target-dir", rebase_path(target_out_dir),
+    "--manifest-path", manifest,
+  ]
+  output = "$target_out_dir/lib${invoker.lib_name}.a"
+  debug = defined(invoker.debug) && invoker.debug
+
+  if (!debug) {
+    cmd += [ "--release" ]
+  }
+
+  action(target_name) {
+    script = "//build/rust/run.py"
+    args = cmd
+    outputs = [ output ]
+    public_configs = [ ":${target_name}_config" ]
+  }
+
+  config("${target_name}_config") {
+    libs = [ "wasmer" ]
+    if (debug) {
+      lib_dirs = [ "$target_out_dir/debug" ]
+    } else {
+      lib_dirs = [ "$target_out_dir/release" ]
+    }
+  }
+}
diff --git a/pkg/analysis_server/doc/api.html b/pkg/analysis_server/doc/api.html
index 2cf6a5f..c65ccb2 100644
--- a/pkg/analysis_server/doc/api.html
+++ b/pkg/analysis_server/doc/api.html
@@ -3242,18 +3242,6 @@
           use these ranges to treat the 'x' and 'y' values specially for linked
           edits.
         </p>
-      </dd><dt class="field"><b>docComplete: String<span style="color:#999999"> (optional)</span></b></dt><dd>
-        
-        <p>
-          The Dartdoc associated with the element being suggested. This field
-          is omitted if there is no Dartdoc associated with the element.
-        </p>
-      </dd><dt class="field"><b>docSummary: String<span style="color:#999999"> (optional)</span></b></dt><dd>
-        
-        <p>
-          An abbreviated version of the Dartdoc associated with the element being suggested.
-          This field is omitted if there is no Dartdoc associated with the element.
-        </p>
       </dd><dt class="field"><b>parameterNames: List&lt;String&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
         
         <p>
diff --git a/pkg/analysis_server/lib/protocol/protocol_generated.dart b/pkg/analysis_server/lib/protocol/protocol_generated.dart
index 084ca7e..b00966b 100644
--- a/pkg/analysis_server/lib/protocol/protocol_generated.dart
+++ b/pkg/analysis_server/lib/protocol/protocol_generated.dart
@@ -5079,8 +5079,6 @@
  *   "element": Element
  *   "defaultArgumentListString": optional String
  *   "defaultArgumentListTextRanges": optional List<int>
- *   "docComplete": optional String
- *   "docSummary": optional String
  *   "parameterNames": optional List<String>
  *   "parameterTypes": optional List<String>
  *   "relevanceTags": optional List<AvailableSuggestionRelevanceTag>
@@ -5100,10 +5098,6 @@
 
   List<int> _defaultArgumentListTextRanges;
 
-  String _docComplete;
-
-  String _docSummary;
-
   List<String> _parameterNames;
 
   List<String> _parameterTypes;
@@ -5190,36 +5184,6 @@
   }
 
   /**
-   * The Dartdoc associated with the element being suggested. This field is
-   * omitted if there is no Dartdoc associated with the element.
-   */
-  String get docComplete => _docComplete;
-
-  /**
-   * The Dartdoc associated with the element being suggested. This field is
-   * omitted if there is no Dartdoc associated with the element.
-   */
-  void set docComplete(String value) {
-    this._docComplete = value;
-  }
-
-  /**
-   * An abbreviated version of the Dartdoc associated with the element being
-   * suggested. This field is omitted if there is no Dartdoc associated with
-   * the element.
-   */
-  String get docSummary => _docSummary;
-
-  /**
-   * An abbreviated version of the Dartdoc associated with the element being
-   * suggested. This field is omitted if there is no Dartdoc associated with
-   * the element.
-   */
-  void set docSummary(String value) {
-    this._docSummary = value;
-  }
-
-  /**
    * If the element is an executable, the names of the formal parameters of all
    * kinds - required, optional positional, and optional named. The names of
    * positional parameters are empty strings. Omitted if the element is not an
@@ -5276,8 +5240,6 @@
   AvailableSuggestion(String label, String declaringLibraryUri, Element element,
       {String defaultArgumentListString,
       List<int> defaultArgumentListTextRanges,
-      String docComplete,
-      String docSummary,
       List<String> parameterNames,
       List<String> parameterTypes,
       List<String> relevanceTags,
@@ -5287,8 +5249,6 @@
     this.element = element;
     this.defaultArgumentListString = defaultArgumentListString;
     this.defaultArgumentListTextRanges = defaultArgumentListTextRanges;
-    this.docComplete = docComplete;
-    this.docSummary = docSummary;
     this.parameterNames = parameterNames;
     this.parameterTypes = parameterTypes;
     this.relevanceTags = relevanceTags;
@@ -5334,16 +5294,6 @@
             json["defaultArgumentListTextRanges"],
             jsonDecoder.decodeInt);
       }
-      String docComplete;
-      if (json.containsKey("docComplete")) {
-        docComplete = jsonDecoder.decodeString(
-            jsonPath + ".docComplete", json["docComplete"]);
-      }
-      String docSummary;
-      if (json.containsKey("docSummary")) {
-        docSummary = jsonDecoder.decodeString(
-            jsonPath + ".docSummary", json["docSummary"]);
-      }
       List<String> parameterNames;
       if (json.containsKey("parameterNames")) {
         parameterNames = jsonDecoder.decodeList(jsonPath + ".parameterNames",
@@ -5368,8 +5318,6 @@
       return new AvailableSuggestion(label, declaringLibraryUri, element,
           defaultArgumentListString: defaultArgumentListString,
           defaultArgumentListTextRanges: defaultArgumentListTextRanges,
-          docComplete: docComplete,
-          docSummary: docSummary,
           parameterNames: parameterNames,
           parameterTypes: parameterTypes,
           relevanceTags: relevanceTags,
@@ -5391,12 +5339,6 @@
     if (defaultArgumentListTextRanges != null) {
       result["defaultArgumentListTextRanges"] = defaultArgumentListTextRanges;
     }
-    if (docComplete != null) {
-      result["docComplete"] = docComplete;
-    }
-    if (docSummary != null) {
-      result["docSummary"] = docSummary;
-    }
     if (parameterNames != null) {
       result["parameterNames"] = parameterNames;
     }
@@ -5424,8 +5366,6 @@
           defaultArgumentListString == other.defaultArgumentListString &&
           listEqual(defaultArgumentListTextRanges,
               other.defaultArgumentListTextRanges, (int a, int b) => a == b) &&
-          docComplete == other.docComplete &&
-          docSummary == other.docSummary &&
           listEqual(parameterNames, other.parameterNames,
               (String a, String b) => a == b) &&
           listEqual(parameterTypes, other.parameterTypes,
@@ -5445,8 +5385,6 @@
     hash = JenkinsSmiHash.combine(hash, element.hashCode);
     hash = JenkinsSmiHash.combine(hash, defaultArgumentListString.hashCode);
     hash = JenkinsSmiHash.combine(hash, defaultArgumentListTextRanges.hashCode);
-    hash = JenkinsSmiHash.combine(hash, docComplete.hashCode);
-    hash = JenkinsSmiHash.combine(hash, docSummary.hashCode);
     hash = JenkinsSmiHash.combine(hash, parameterNames.hashCode);
     hash = JenkinsSmiHash.combine(hash, parameterTypes.hashCode);
     hash = JenkinsSmiHash.combine(hash, relevanceTags.hashCode);
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 88d6f46..bd6fa83 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -46,7 +46,9 @@
 import 'package:analysis_server/src/services/flutter/widget_descriptions.dart';
 import 'package:analysis_server/src/services/search/search_engine.dart';
 import 'package:analysis_server/src/services/search/search_engine_internal.dart';
+import 'package:analysis_server/src/utilities/file_string_sink.dart';
 import 'package:analysis_server/src/utilities/null_string_sink.dart';
+import 'package:analysis_server/src/utilities/request_statistics.dart';
 import 'package:analyzer/dart/analysis/results.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/exception/exception.dart';
@@ -105,6 +107,9 @@
   /// The instrumentation service that is to be used by this analysis server.
   final InstrumentationService instrumentationService;
 
+  /// The helper for tracking request / response statistics.
+  final RequestStatisticsHelper requestStatistics;
+
   /// A set of the [ServerService]s to send notifications for.
   Set<ServerService> serverServices = new HashSet<ServerService>();
 
@@ -170,6 +175,7 @@
     AnalysisServerOptions options,
     this.sdkManager,
     this.instrumentationService, {
+    this.requestStatistics,
     DiagnosticServer diagnosticServer,
     ResolverProvider fileResolverProvider = null,
     ResolverProvider packageResolverProvider = null,
@@ -197,7 +203,8 @@
           sink = io.stdout;
         } else if (name.startsWith('file:')) {
           String path = name.substring('file:'.length);
-          sink = new io.File(path).openWrite(mode: io.FileMode.append);
+          sink = FileStringSink(path);
+          requestStatistics?.sink = sink;
         }
       }
       _analysisPerformanceLogger = new PerformanceLog(sink);
diff --git a/pkg/analysis_server/lib/src/channel/byte_stream_channel.dart b/pkg/analysis_server/lib/src/channel/byte_stream_channel.dart
index 7fa2439..72f127d 100644
--- a/pkg/analysis_server/lib/src/channel/byte_stream_channel.dart
+++ b/pkg/analysis_server/lib/src/channel/byte_stream_channel.dart
@@ -9,6 +9,7 @@
 import 'package:analysis_server/protocol/protocol.dart';
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/channel/channel.dart';
+import 'package:analysis_server/src/utilities/request_statistics.dart';
 import 'package:analyzer/instrumentation/instrumentation.dart';
 
 /**
@@ -75,6 +76,11 @@
   final InstrumentationService _instrumentationService;
 
   /**
+   * The helper for recording request / response statistics.
+   */
+  final RequestStatisticsHelper _requestStatistics;
+
+  /**
    * Completer that will be signalled when the input stream is closed.
    */
   final Completer _closed = new Completer();
@@ -85,7 +91,9 @@
   bool _closeRequested = false;
 
   ByteStreamServerChannel(
-      this._input, this._output, this._instrumentationService);
+      this._input, this._output, this._instrumentationService,
+      {RequestStatisticsHelper requestStatistics})
+      : _requestStatistics = requestStatistics;
 
   /**
    * Future that will be completed when the input stream is closed.
@@ -125,6 +133,7 @@
       String jsonEncoding = json.encode(notification.toJson());
       _outputLine(jsonEncoding);
       _instrumentationService.logNotification(jsonEncoding);
+      _requestStatistics?.logNotification(notification);
     });
   }
 
@@ -136,6 +145,7 @@
       return;
     }
     ServerPerformanceStatistics.serverChannel.makeCurrentWhile(() {
+      _requestStatistics?.addResponse(response);
       String jsonEncoding = json.encode(response.toJson());
       _outputLine(jsonEncoding);
       _instrumentationService.logResponse(jsonEncoding);
@@ -171,6 +181,7 @@
         sendResponse(new Response.invalidRequestFormat());
         return;
       }
+      _requestStatistics?.addRequest(request);
       onRequest(request);
     });
   }
diff --git a/pkg/analysis_server/lib/src/domain_completion.dart b/pkg/analysis_server/lib/src/domain_completion.dart
index 4f91833..146f3a5 100644
--- a/pkg/analysis_server/lib/src/domain_completion.dart
+++ b/pkg/analysis_server/lib/src/domain_completion.dart
@@ -356,6 +356,7 @@
     }
 
     ResolvedUnitResult resolvedUnit = await server.getResolvedUnit(file);
+    server.requestStatistics?.addItemTimeNow(request, 'resolvedUnit');
     if (resolvedUnit?.state == ResultState.VALID) {
       if (offset < 0 || offset > resolvedUnit.content.length) {
         server.sendResponse(new Response.invalidParameter(
diff --git a/pkg/analysis_server/lib/src/domains/completion/available_suggestions.dart b/pkg/analysis_server/lib/src/domains/completion/available_suggestions.dart
index d96e1bb..fd378e1 100644
--- a/pkg/analysis_server/lib/src/domains/completion/available_suggestions.dart
+++ b/pkg/analysis_server/lib/src/domains/completion/available_suggestions.dart
@@ -211,8 +211,6 @@
     _protocolElement(declaration),
     defaultArgumentListString: declaration.defaultArgumentListString,
     defaultArgumentListTextRanges: declaration.defaultArgumentListTextRanges,
-    docComplete: declaration.docComplete,
-    docSummary: declaration.docSummary,
     parameterNames: declaration.parameterNames,
     parameterTypes: declaration.parameterTypes,
     requiredParameterCount: declaration.requiredParameterCount,
diff --git a/pkg/analysis_server/lib/src/edit/edit_domain.dart b/pkg/analysis_server/lib/src/edit/edit_domain.dart
index 0e7ec3b..a1737cf 100644
--- a/pkg/analysis_server/lib/src/edit/edit_domain.dart
+++ b/pkg/analysis_server/lib/src/edit/edit_domain.dart
@@ -207,6 +207,7 @@
     // Compute fixes associated with server-generated errors.
     //
     ResolvedUnitResult result = await server.getResolvedUnit(file);
+    server.requestStatistics?.addItemTimeNow(request, 'resolvedUnit');
     if (result != null) {
       var context = new DartAssistContextImpl(
         DartChangeWorkspace(server.currentSessions),
@@ -221,6 +222,7 @@
         for (Assist assist in assists) {
           changes.add(assist.change);
         }
+        server.requestStatistics?.addItemTimeNow(request, 'computedAssists');
       } catch (_) {}
     }
     //
@@ -228,6 +230,7 @@
     //
     List<plugin.Response> responses =
         await waitForResponses(pluginFutures, requestParameters: requestParams);
+    server.requestStatistics?.addItemTimeNow(request, 'pluginResponses');
     ResultConverter converter = new ResultConverter();
     List<plugin.PrioritizedSourceChange> pluginChanges =
         <plugin.PrioritizedSourceChange>[];
@@ -277,7 +280,7 @@
     List<AnalysisErrorFixes> errorFixesList = null;
     while (errorFixesList == null) {
       try {
-        errorFixesList = await _computeServerErrorFixes(file, offset);
+        errorFixesList = await _computeServerErrorFixes(request, file, offset);
       } on InconsistentAnalysisException {
         // Loop around to try again to compute the fixes.
       }
@@ -287,6 +290,7 @@
     //
     List<plugin.Response> responses =
         await waitForResponses(pluginFutures, requestParameters: requestParams);
+    server.requestStatistics?.addItemTimeNow(request, 'pluginResponses');
     ResultConverter converter = new ResultConverter();
     for (plugin.Response response in responses) {
       plugin.EditGetFixesResult result =
@@ -627,9 +631,10 @@
    * Dart files.
    */
   Future<List<AnalysisErrorFixes>> _computeDartFixes(
-      String file, int offset) async {
+      Request request, String file, int offset) async {
     List<AnalysisErrorFixes> errorFixesList = <AnalysisErrorFixes>[];
     var result = await server.getResolvedUnit(file);
+    server.requestStatistics?.addItemTimeNow(request, 'resolvedUnit');
     if (result != null) {
       LineInfo lineInfo = result.lineInfo;
       int requestLine = lineInfo.getLocation(offset).lineNumber;
@@ -662,6 +667,7 @@
         }
       }
     }
+    server.requestStatistics?.addItemTimeNow(request, 'computedFixes');
     return errorFixesList;
   }
 
@@ -751,10 +757,10 @@
    * Compute and return the fixes associated with server-generated errors.
    */
   Future<List<AnalysisErrorFixes>> _computeServerErrorFixes(
-      String file, int offset) async {
+      Request request, String file, int offset) async {
     Context context = server.resourceProvider.pathContext;
     if (AnalysisEngine.isDartFileName(file)) {
-      return _computeDartFixes(file, offset);
+      return _computeDartFixes(request, file, offset);
     } else if (AnalysisEngine.isAnalysisOptionsFileName(file, context)) {
       return _computeAnalysisOptionsFixes(file, offset);
     } else if (context.basename(file) == 'pubspec.yaml') {
diff --git a/pkg/analysis_server/lib/src/edit/fix/non_nullable_fix.dart b/pkg/analysis_server/lib/src/edit/fix/non_nullable_fix.dart
index 09b28ca..bc771f2 100644
--- a/pkg/analysis_server/lib/src/edit/fix/non_nullable_fix.dart
+++ b/pkg/analysis_server/lib/src/edit/fix/non_nullable_fix.dart
@@ -5,12 +5,14 @@
 import 'package:analysis_server/src/edit/fix/dartfix_listener.dart';
 import 'package:analysis_server/src/edit/fix/dartfix_registrar.dart';
 import 'package:analysis_server/src/edit/fix/fix_code_task.dart';
-import 'package:nnbd_migration/nnbd_migration.dart';
 import 'package:analyzer/dart/analysis/results.dart';
+import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/dart/analysis/experiments.dart';
+import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/task/options.dart';
 import 'package:analyzer_plugin/protocol/protocol_common.dart';
+import 'package:nnbd_migration/nnbd_migration.dart';
 import 'package:source_span/source_span.dart';
 import 'package:yaml/yaml.dart';
 
@@ -185,11 +187,6 @@
   NullabilityMigrationAdapter(this.listener);
 
   @override
-  void addDetail(String detail) {
-    listener.addDetail(detail);
-  }
-
-  @override
   void addEdit(SingleNullabilityFix fix, SourceEdit edit) {
     listener.addEditWithoutSuggestion(fix.source, edit);
   }
@@ -198,4 +195,13 @@
   void addFix(SingleNullabilityFix fix) {
     listener.addSuggestion(fix.description.appliedMessage, fix.location);
   }
+
+  @override
+  void reportException(
+      Source source, AstNode node, Object exception, StackTrace stackTrace) {
+    listener.addDetail('''
+$exception
+
+$stackTrace''');
+  }
 }
diff --git a/pkg/analysis_server/lib/src/server/driver.dart b/pkg/analysis_server/lib/src/server/driver.dart
index ec7b422..eb35df8 100644
--- a/pkg/analysis_server/lib/src/server/driver.dart
+++ b/pkg/analysis_server/lib/src/server/driver.dart
@@ -6,6 +6,7 @@
 import 'dart:ffi' as ffi;
 import 'dart:io';
 import 'dart:math';
+import 'package:analysis_server/src/utilities/request_statistics.dart';
 import 'package:path/path.dart' as path;
 
 import 'package:analysis_server/protocol/protocol_constants.dart'
@@ -309,6 +310,14 @@
   static const String TRAIN_USING = "train-using";
 
   /**
+   * The name of the flag to include into the analysis driver log all
+   * communications with the client - requests, responses, shortened
+   * notifications.
+   */
+  static const String INCLUDE_PROTOCOL_TO_DRIVER_LOG =
+      "include-protocol-to-driver-log";
+
+  /**
    * The instrumentation server that is to be used by the analysis server.
    */
   InstrumentationServer instrumentationServer;
@@ -466,6 +475,11 @@
       }
     }
 
+    RequestStatisticsHelper requestStatisticsHelper;
+    if (results[INCLUDE_PROTOCOL_TO_DRIVER_LOG] == true) {
+      requestStatisticsHelper = RequestStatisticsHelper();
+    }
+
     CompilerContext.runWithDefaultOptions((_) async {
       if (analysisServerOptions.useLanguageServerProtocol) {
         startLspServer(results, analysisServerOptions, dartSdkManager,
@@ -477,6 +491,7 @@
             parser,
             dartSdkManager,
             instrumentationService,
+            requestStatisticsHelper,
             analytics,
             diagnosticServerPort);
       }
@@ -489,6 +504,7 @@
     CommandLineParser parser,
     DartSdkManager dartSdkManager,
     InstrumentationService instrumentationService,
+    RequestStatisticsHelper requestStatistics,
     telemetry.Analytics analytics,
     int diagnosticServerPort,
   ) {
@@ -519,6 +535,7 @@
         analysisServerOptions,
         dartSdkManager,
         instrumentationService,
+        requestStatistics,
         diagnosticServer,
         fileResolverProvider,
         packageResolverProvider,
@@ -793,6 +810,9 @@
     parser.addOption(TRAIN_USING,
         help: "Pass in a directory to analyze for purposes of training an "
             "analysis server snapshot.");
+    parser.addFlag(INCLUDE_PROTOCOL_TO_DRIVER_LOG,
+        defaultsTo: false,
+        help: "Whether to use include protocol into the driver log");
 
     return parser;
   }
diff --git a/pkg/analysis_server/lib/src/server/stdio_server.dart b/pkg/analysis_server/lib/src/server/stdio_server.dart
index f7e9305..297572f 100644
--- a/pkg/analysis_server/lib/src/server/stdio_server.dart
+++ b/pkg/analysis_server/lib/src/server/stdio_server.dart
@@ -33,7 +33,11 @@
    */
   Future serveStdio() {
     ByteStreamServerChannel serverChannel = new ByteStreamServerChannel(
-        stdin, stdout, socketServer.instrumentationService);
+      stdin,
+      stdout,
+      socketServer.instrumentationService,
+      requestStatistics: socketServer.requestStatistics,
+    );
     socketServer.createAnalysisServer(serverChannel);
     return serverChannel.closed;
   }
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/dart/top_level_declarations.dart b/pkg/analysis_server/lib/src/services/correction/fix/dart/top_level_declarations.dart
index ef4b987..9169ba1 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/dart/top_level_declarations.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/dart/top_level_declarations.dart
@@ -75,6 +75,8 @@
     }
 
     var declarationsContext = tracker.getContext(analysisContext);
+    if (declarationsContext == null) return const [];
+
     var libraries = declarationsContext.getLibraries(path);
     libraries.context.forEach(addDeclarations);
     libraries.dependencies.forEach(addDeclarations);
diff --git a/pkg/analysis_server/lib/src/services/search/search_engine_internal.dart b/pkg/analysis_server/lib/src/services/search/search_engine_internal.dart
index 2868b74..ce9c9aa 100644
--- a/pkg/analysis_server/lib/src/services/search/search_engine_internal.dart
+++ b/pkg/analysis_server/lib/src/services/search/search_engine_internal.dart
@@ -23,6 +23,7 @@
     // TODO(brianwilkerson) Determine whether this await is necessary.
     await null;
     List<AnalysisDriver> drivers = _drivers.toList();
+    SearchedFiles searchedFiles = _createSearchedFiles(drivers);
 
     String libraryUriStr = type.librarySource.uri.toString();
     bool hasSubtypes = false;
@@ -36,8 +37,8 @@
         return;
       }
       for (AnalysisDriver driver in drivers) {
-        List<SubtypeResult> subtypes =
-            await driver.search.subtypes(type: type, subtype: subtype);
+        List<SubtypeResult> subtypes = await driver.search
+            .subtypes(searchedFiles, type: type, subtype: subtype);
         for (SubtypeResult subtype in subtypes) {
           hasSubtypes = true;
           members.addAll(subtype.libraryUri == libraryUriStr
diff --git a/pkg/analysis_server/lib/src/socket_server.dart b/pkg/analysis_server/lib/src/socket_server.dart
index 80e07cc..ca22b77 100644
--- a/pkg/analysis_server/lib/src/socket_server.dart
+++ b/pkg/analysis_server/lib/src/socket_server.dart
@@ -9,6 +9,7 @@
 import 'package:analysis_server/src/channel/channel.dart';
 import 'package:analysis_server/src/server/detachable_filesystem_manager.dart';
 import 'package:analysis_server/src/server/diagnostic_server.dart';
+import 'package:analysis_server/src/utilities/request_statistics.dart';
 import 'package:analyzer/file_system/physical_file_system.dart';
 import 'package:analyzer/instrumentation/instrumentation.dart';
 import 'package:analyzer/src/generated/sdk.dart';
@@ -35,6 +36,7 @@
   final DartSdkManager sdkManager;
 
   final InstrumentationService instrumentationService;
+  final RequestStatisticsHelper requestStatistics;
   final DiagnosticServer diagnosticServer;
   final ResolverProvider fileResolverProvider;
   final ResolverProvider packageResolverProvider;
@@ -50,6 +52,7 @@
       this.analysisServerOptions,
       this.sdkManager,
       this.instrumentationService,
+      this.requestStatistics,
       this.diagnosticServer,
       this.fileResolverProvider,
       this.packageResolverProvider,
@@ -89,6 +92,7 @@
       analysisServerOptions,
       sdkManager,
       instrumentationService,
+      requestStatistics: requestStatistics,
       diagnosticServer: diagnosticServer,
       fileResolverProvider: fileResolverProvider,
       packageResolverProvider: packageResolverProvider,
diff --git a/pkg/analysis_server/lib/src/utilities/file_string_sink.dart b/pkg/analysis_server/lib/src/utilities/file_string_sink.dart
new file mode 100644
index 0000000..99140ee
--- /dev/null
+++ b/pkg/analysis_server/lib/src/utilities/file_string_sink.dart
@@ -0,0 +1,33 @@
+// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+import 'dart:io';
+
+/**
+ * A string sink that write into a file.
+ */
+class FileStringSink implements StringSink {
+  IOSink _sink;
+
+  FileStringSink(String path) {
+    _sink = File(path).openWrite(mode: FileMode.append);
+  }
+
+  void write(Object obj) {
+    throw UnimplementedError();
+  }
+
+  void writeAll(Iterable objects, [String separator = ""]) {
+    throw UnimplementedError();
+  }
+
+  void writeCharCode(int charCode) {
+    throw UnimplementedError();
+  }
+
+  void writeln([Object obj = ""]) {
+    var currentTimeMillis = DateTime.now().millisecondsSinceEpoch;
+    _sink.writeln('$currentTimeMillis $obj');
+  }
+}
diff --git a/pkg/analysis_server/lib/src/utilities/request_statistics.dart b/pkg/analysis_server/lib/src/utilities/request_statistics.dart
new file mode 100644
index 0000000..bffd70f
--- /dev/null
+++ b/pkg/analysis_server/lib/src/utilities/request_statistics.dart
@@ -0,0 +1,200 @@
+// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+import 'dart:convert';
+
+import 'package:analysis_server/protocol/protocol.dart';
+
+/// Helper for tracking request handling statistics.
+///
+/// All [DateTime] are local, not UTC.
+class RequestStatisticsHelper {
+  final Map<String, _RequestStatistics> _statisticsMap = {};
+
+  /// The sink to write statistics to.
+  /// It is set externally when we get to `AnalysisServer` instance.
+  StringSink sink;
+
+  /// Add a time marker item to the data associated with the [request].
+  void addItemTimeNow(Request request, String name) {
+    var id = request.id;
+    var stat = _statisticsMap[id];
+    if (stat != null) {
+      stat.items.add(
+        _RequestStatisticsItem(
+          name,
+          timeValue: DateTime.now(),
+        ),
+      );
+    }
+  }
+
+  /// The new [request] was received. Record the time when the client sent it,
+  /// and the time when the server received it (now).
+  void addRequest(Request request) {
+    _logRequest(request);
+
+    var id = request.id;
+
+    var clientRequestMilliseconds = request.clientRequestTime;
+    if (clientRequestMilliseconds == null) {
+      return;
+    }
+    var clientRequestTime = DateTime.fromMillisecondsSinceEpoch(
+      clientRequestMilliseconds,
+    );
+
+    var serverRequestTime = DateTime.now();
+
+    _statisticsMap[id] = _RequestStatistics(
+      id,
+      request.method,
+      clientRequestTime,
+      serverRequestTime,
+    );
+  }
+
+  /// The server finished processing a request, and sends the [response].
+  /// Record the time when the response is about to be sent to the client.
+  void addResponse(Response response) {
+    var id = response.id;
+    var stat = _statisticsMap.remove(id);
+    if (stat != null) {
+      stat.responseTime = DateTime.now();
+
+      if (sink != null) {
+        sink.writeln(
+          json.encode(
+            {
+              'requestStatistics': stat.toJson(),
+            },
+          ),
+        );
+      }
+    }
+  }
+
+  void logNotification(Notification notification) {
+    if (sink == null) return;
+
+    var event = notification.event;
+
+    // Don't log large and often notifications.
+    if (event == 'analysis.errors' ||
+        event == 'completion.availableSuggestions') {
+      return;
+    }
+
+    var map = <String, Object>{
+      'event': event,
+    };
+
+    if (event == 'analysis.highlights' ||
+        event == 'analysis.implemented' ||
+        event == 'analysis.navigation' ||
+        event == 'analysis.outline' ||
+        event == 'analysis.overrides') {
+      map['file'] = notification.params['file'];
+    }
+
+    if (event == 'server.status') {
+      var analysis = notification.params['analysis'];
+      if (analysis is Map<String, Object>) {
+        map['isAnalyzing'] = analysis['isAnalyzing'];
+      }
+    }
+
+    sink.writeln(
+      json.encode({
+        'notification': map,
+      }),
+    );
+  }
+
+  void _logRequest(Request request) {
+    if (sink == null) return;
+
+    var method = request.method;
+    var map = <String, Object>{
+      'id': request.id,
+      'method': method,
+    };
+
+    {
+      var clientRequestTime = request.clientRequestTime;
+      if (clientRequestTime != null) {
+        map['clientRequestTime'] = clientRequestTime;
+      }
+    }
+
+    if (method == 'analysis.updateContent') {
+      var filesMap = request.params['files'];
+      if (filesMap is Map<String, Object>) {
+        map['files'] = filesMap.keys.toList();
+      }
+    } else {
+      map = request.toJson();
+    }
+
+    sink.writeln(
+      json.encode({
+        'request': map,
+      }),
+    );
+  }
+}
+
+class _RequestStatistics {
+  final String id;
+  final String method;
+  final DateTime clientRequestTime;
+  final DateTime serverRequestTime;
+  final List<_RequestStatisticsItem> items = [];
+  DateTime responseTime;
+
+  _RequestStatistics(
+    this.id,
+    this.method,
+    this.clientRequestTime,
+    this.serverRequestTime,
+  );
+
+  Map<String, Object> toJson() {
+    var baseTime = clientRequestTime.millisecondsSinceEpoch;
+    var map = {
+      'id': id,
+      'method': method,
+      'clientRequestTime': baseTime,
+      'serverRequestTime': serverRequestTime.millisecondsSinceEpoch - baseTime,
+      'responseTime': responseTime.millisecondsSinceEpoch - baseTime,
+    };
+    if (items.isNotEmpty) {
+      map['items'] = items.map((item) => item.toJson(baseTime)).toList();
+    }
+    return map;
+  }
+
+  @override
+  String toString() {
+    var map = toJson();
+    return json.encode(map);
+  }
+}
+
+class _RequestStatisticsItem {
+  final String name;
+  final DateTime timeValue;
+
+  _RequestStatisticsItem(this.name, {this.timeValue});
+
+  Map<String, Object> toJson(int baseTimeMillis) {
+    if (timeValue != null) {
+      return {
+        'name': name,
+        'timeValue': timeValue.millisecondsSinceEpoch - baseTimeMillis,
+      };
+    }
+    throw StateError('Unknown value: $name');
+  }
+}
diff --git a/pkg/analysis_server/test/integration/support/protocol_matchers.dart b/pkg/analysis_server/test/integration/support/protocol_matchers.dart
index 34cd727..358108e 100644
--- a/pkg/analysis_server/test/integration/support/protocol_matchers.dart
+++ b/pkg/analysis_server/test/integration/support/protocol_matchers.dart
@@ -176,8 +176,6 @@
  *   "element": Element
  *   "defaultArgumentListString": optional String
  *   "defaultArgumentListTextRanges": optional List<int>
- *   "docComplete": optional String
- *   "docSummary": optional String
  *   "parameterNames": optional List<String>
  *   "parameterTypes": optional List<String>
  *   "relevanceTags": optional List<AvailableSuggestionRelevanceTag>
@@ -192,8 +190,6 @@
         }, optionalFields: {
           "defaultArgumentListString": isString,
           "defaultArgumentListTextRanges": isListOf(isInt),
-          "docComplete": isString,
-          "docSummary": isString,
           "parameterNames": isListOf(isString),
           "parameterTypes": isListOf(isString),
           "relevanceTags": isListOf(isAvailableSuggestionRelevanceTag),
diff --git a/pkg/analysis_server/test/socket_server_test.dart b/pkg/analysis_server/test/socket_server_test.dart
index 7242529..f284a85 100644
--- a/pkg/analysis_server/test/socket_server_test.dart
+++ b/pkg/analysis_server/test/socket_server_test.dart
@@ -112,6 +112,7 @@
         null,
         null,
         null,
+        null,
         null);
   }
 }
diff --git a/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart b/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart
index d81f23b..194ec58 100644
--- a/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart
+++ b/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart
@@ -140,6 +140,7 @@
         new MemoryByteStore(),
         new FileContentOverlay(),
         resourceProvider,
+        'contextName',
         sourceFactory,
         new AnalysisOptionsImpl(),
         new Uint32List(0),
diff --git a/pkg/analysis_server/tool/lsp_spec/README.md b/pkg/analysis_server/tool/lsp_spec/README.md
index e0600c7..ea364d4 100644
--- a/pkg/analysis_server/tool/lsp_spec/README.md
+++ b/pkg/analysis_server/tool/lsp_spec/README.md
@@ -4,14 +4,14 @@
 
 ## Using the Dart LSP server in editors
 
-- [Using Dart LSP in Vim](README_vim.md)
+- [Using LSP with Dart-Vim](https://github.com/dart-lang/dart-vim-plugin/blob/master/README.md#how-do-i-configure-an-lsp-plugin-to-start-the-analysis-server)
 
 ## Running the Server
 
-Run the server from source to ensure you're running code that matches the status shown below. If you don't have a locally built SDK then a recent nightly should do. Pass the `--lsp` flag to start the server in LSP mode:
+The analysis server snapshot is included in the `bin/snapshots` folder of the Dart SDK. Pass the `--lsp` flag to start the server in LSP mode:
 
 ```
-dart pkg/analysis_server/bin/server.dart --lsp
+dart bin/snapshots/analysis_server.dart.snapshot --lsp
 ```
 
 Note: In LSP the client makes the first request so there is no obvious confirmation that the server is working correctly until the client sends an `initialize` request. Unlike standard JSON RPC, [LSP requires that headers are sent](https://microsoft.github.io/language-server-protocol/specification).
diff --git a/pkg/analysis_server/tool/lsp_spec/README_vim.md b/pkg/analysis_server/tool/lsp_spec/README_vim.md
deleted file mode 100644
index 19dd029..0000000
--- a/pkg/analysis_server/tool/lsp_spec/README_vim.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Using Dart LSP in Vim
-
-## Prerequisites
-
-To use Dart’s LSP server with Vim you’ll need to be using at least version 2.2.0
-of the Dart SDK (which shipped in version 1.2.1 of Flutter). A Vim plugin manager
-is not required but may simplify setup. The steps below have been written assuming
-use of [vim-plug](https://github.com/junegunn/vim-plug).
-
-
-## Install the Plugins
-
-Install the [dart-vim-plugin](https://github.com/dart-lang/dart-vim-plugin) and
-[vim-lsc](https://github.com/natebosch/vim-lsc) plugins. Using vim-plug this can
-be done by adding the following to `.vimrc` then reloading and running
-`:PlugInstall`:
-
-```
-call plug#begin('~/.vim/plugged')
-Plug 'dart-lang/dart-vim-plugin'
-Plug 'natebosch/vim-lsc'
-call plug#end()
-```
-
-Note: Other LSP plugins are available for Vim but this document assumes vim-lsc.
-
-
-## Configure vim-lsc
-
-Next tell vim-lsc how to invoke the LSP server. You’ll need the path to the Dart
-SDK (which may be inside the Flutter SDK at bin/cache/dart-sdk for Flutter) and
-add this to `.vimrc` and reload.
-
-```
-let g:lsc_server_commands = {'dart': '~/dart-sdk/bin/dart ~/dart-sdk/bin/snapshots/analysis_server.dart.snapshot --lsp'}
-let g:lsc_auto_map = v:true " Use defaults
-```
-
-This will set up the LSP server for Dart files using default keybindings. More
-info on configuring vim-lsc can be found at
-[natebosch/vim-lsc#configuration](https://github.com/natebosch/vim-lsc#configuration).
-
-
-## Test the Plugins
-
-Open a Dart file in Vim and confirm that you see syntax highlighting (this is
-provided by dart-vim-plugin) and that invalid code is highlighted (this is
-provided by the LSP server via vim-lsc), with the error showing along the bottom
-of the window.
-
-
-## Keybindings and Commands
-
-Keybindings and commands are documented in the
-[vim-lsc README](https://github.com/natebosch/vim-lsc#configuration).
-
-
-## Supported Features
-
-Available features are those supported by both the vim-lsc plugin
-([see here](https://github.com/natebosch/vim-lsc#features)) and the Dart LSP
-server ([see here](https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool/lsp_spec/README.md#message-status)).
-
-
-## Troubleshooting
-
-If you find an issue with the LSP server you can enable logging in the server by
-adding the following switches to the LSP server command in `.vimrc`:
-
-```
---instrumentation-log-file /path/to/logs/lsp-vim.txt
-```
-
-Issues should be opened in the [dart-lang/sdk](https://github.com/dart-lang/sdk)
-repository.
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/AvailableSuggestion.java b/pkg/analysis_server/tool/spec/generated/java/types/AvailableSuggestion.java
index fb4704b..5ce176f 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/AvailableSuggestion.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/AvailableSuggestion.java
@@ -67,18 +67,6 @@
   private final int[] defaultArgumentListTextRanges;
 
   /**
-   * The Dartdoc associated with the element being suggested. This field is omitted if there is no
-   * Dartdoc associated with the element.
-   */
-  private final String docComplete;
-
-  /**
-   * An abbreviated version of the Dartdoc associated with the element being suggested. This field is
-   * omitted if there is no Dartdoc associated with the element.
-   */
-  private final String docSummary;
-
-  /**
    * If the element is an executable, the names of the formal parameters of all kinds - required,
    * optional positional, and optional named. The names of positional parameters are empty strings.
    * Omitted if the element is not an executable.
@@ -102,14 +90,12 @@
   /**
    * Constructor for {@link AvailableSuggestion}.
    */
-  public AvailableSuggestion(String label, String declaringLibraryUri, Element element, String defaultArgumentListString, int[] defaultArgumentListTextRanges, String docComplete, String docSummary, List<String> parameterNames, List<String> parameterTypes, List<String> relevanceTags, Integer requiredParameterCount) {
+  public AvailableSuggestion(String label, String declaringLibraryUri, Element element, String defaultArgumentListString, int[] defaultArgumentListTextRanges, List<String> parameterNames, List<String> parameterTypes, List<String> relevanceTags, Integer requiredParameterCount) {
     this.label = label;
     this.declaringLibraryUri = declaringLibraryUri;
     this.element = element;
     this.defaultArgumentListString = defaultArgumentListString;
     this.defaultArgumentListTextRanges = defaultArgumentListTextRanges;
-    this.docComplete = docComplete;
-    this.docSummary = docSummary;
     this.parameterNames = parameterNames;
     this.parameterTypes = parameterTypes;
     this.relevanceTags = relevanceTags;
@@ -126,8 +112,6 @@
         ObjectUtilities.equals(other.element, element) &&
         ObjectUtilities.equals(other.defaultArgumentListString, defaultArgumentListString) &&
         Arrays.equals(other.defaultArgumentListTextRanges, defaultArgumentListTextRanges) &&
-        ObjectUtilities.equals(other.docComplete, docComplete) &&
-        ObjectUtilities.equals(other.docSummary, docSummary) &&
         ObjectUtilities.equals(other.parameterNames, parameterNames) &&
         ObjectUtilities.equals(other.parameterTypes, parameterTypes) &&
         ObjectUtilities.equals(other.relevanceTags, relevanceTags) &&
@@ -142,13 +126,11 @@
     Element element = Element.fromJson(jsonObject.get("element").getAsJsonObject());
     String defaultArgumentListString = jsonObject.get("defaultArgumentListString") == null ? null : jsonObject.get("defaultArgumentListString").getAsString();
     int[] defaultArgumentListTextRanges = jsonObject.get("defaultArgumentListTextRanges") == null ? null : JsonUtilities.decodeIntArray(jsonObject.get("defaultArgumentListTextRanges").getAsJsonArray());
-    String docComplete = jsonObject.get("docComplete") == null ? null : jsonObject.get("docComplete").getAsString();
-    String docSummary = jsonObject.get("docSummary") == null ? null : jsonObject.get("docSummary").getAsString();
     List<String> parameterNames = jsonObject.get("parameterNames") == null ? null : JsonUtilities.decodeStringList(jsonObject.get("parameterNames").getAsJsonArray());
     List<String> parameterTypes = jsonObject.get("parameterTypes") == null ? null : JsonUtilities.decodeStringList(jsonObject.get("parameterTypes").getAsJsonArray());
     List<String> relevanceTags = jsonObject.get("relevanceTags") == null ? null : JsonUtilities.decodeStringList(jsonObject.get("relevanceTags").getAsJsonArray());
     Integer requiredParameterCount = jsonObject.get("requiredParameterCount") == null ? null : jsonObject.get("requiredParameterCount").getAsInt();
-    return new AvailableSuggestion(label, declaringLibraryUri, element, defaultArgumentListString, defaultArgumentListTextRanges, docComplete, docSummary, parameterNames, parameterTypes, relevanceTags, requiredParameterCount);
+    return new AvailableSuggestion(label, declaringLibraryUri, element, defaultArgumentListString, defaultArgumentListTextRanges, parameterNames, parameterTypes, relevanceTags, requiredParameterCount);
   }
 
   public static List<AvailableSuggestion> fromJsonArray(JsonArray jsonArray) {
@@ -190,22 +172,6 @@
   }
 
   /**
-   * The Dartdoc associated with the element being suggested. This field is omitted if there is no
-   * Dartdoc associated with the element.
-   */
-  public String getDocComplete() {
-    return docComplete;
-  }
-
-  /**
-   * An abbreviated version of the Dartdoc associated with the element being suggested. This field is
-   * omitted if there is no Dartdoc associated with the element.
-   */
-  public String getDocSummary() {
-    return docSummary;
-  }
-
-  /**
    * Information about the element reference being suggested.
    */
   public Element getElement() {
@@ -256,8 +222,6 @@
     builder.append(element);
     builder.append(defaultArgumentListString);
     builder.append(defaultArgumentListTextRanges);
-    builder.append(docComplete);
-    builder.append(docSummary);
     builder.append(parameterNames);
     builder.append(parameterTypes);
     builder.append(relevanceTags);
@@ -280,12 +244,6 @@
       }
       jsonObject.add("defaultArgumentListTextRanges", jsonArrayDefaultArgumentListTextRanges);
     }
-    if (docComplete != null) {
-      jsonObject.addProperty("docComplete", docComplete);
-    }
-    if (docSummary != null) {
-      jsonObject.addProperty("docSummary", docSummary);
-    }
     if (parameterNames != null) {
       JsonArray jsonArrayParameterNames = new JsonArray();
       for (String elt : parameterNames) {
@@ -327,10 +285,6 @@
     builder.append(defaultArgumentListString + ", ");
     builder.append("defaultArgumentListTextRanges=");
     builder.append(StringUtils.join(defaultArgumentListTextRanges, ", ") + ", ");
-    builder.append("docComplete=");
-    builder.append(docComplete + ", ");
-    builder.append("docSummary=");
-    builder.append(docSummary + ", ");
     builder.append("parameterNames=");
     builder.append(StringUtils.join(parameterNames, ", ") + ", ");
     builder.append("parameterTypes=");
diff --git a/pkg/analysis_server/tool/spec/spec_input.html b/pkg/analysis_server/tool/spec/spec_input.html
index 05826b4..3a635e1 100644
--- a/pkg/analysis_server/tool/spec/spec_input.html
+++ b/pkg/analysis_server/tool/spec/spec_input.html
@@ -3695,20 +3695,6 @@
           edits.
         </p>
       </field>
-      <field name="docComplete" optional="true">
-        <ref>String</ref>
-        <p>
-          The Dartdoc associated with the element being suggested. This field
-          is omitted if there is no Dartdoc associated with the element.
-        </p>
-      </field>
-      <field name="docSummary" optional="true">
-        <ref>String</ref>
-        <p>
-          An abbreviated version of the Dartdoc associated with the element being suggested.
-          This field is omitted if there is no Dartdoc associated with the element.
-        </p>
-      </field>
       <field name="parameterNames" optional="true">
         <list>
           <ref>String</ref>
diff --git a/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart b/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart
index 2c611b4..80ae759 100644
--- a/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart
+++ b/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart
@@ -5079,8 +5079,6 @@
  *   "element": Element
  *   "defaultArgumentListString": optional String
  *   "defaultArgumentListTextRanges": optional List<int>
- *   "docComplete": optional String
- *   "docSummary": optional String
  *   "parameterNames": optional List<String>
  *   "parameterTypes": optional List<String>
  *   "relevanceTags": optional List<AvailableSuggestionRelevanceTag>
@@ -5100,10 +5098,6 @@
 
   List<int> _defaultArgumentListTextRanges;
 
-  String _docComplete;
-
-  String _docSummary;
-
   List<String> _parameterNames;
 
   List<String> _parameterTypes;
@@ -5190,36 +5184,6 @@
   }
 
   /**
-   * The Dartdoc associated with the element being suggested. This field is
-   * omitted if there is no Dartdoc associated with the element.
-   */
-  String get docComplete => _docComplete;
-
-  /**
-   * The Dartdoc associated with the element being suggested. This field is
-   * omitted if there is no Dartdoc associated with the element.
-   */
-  void set docComplete(String value) {
-    this._docComplete = value;
-  }
-
-  /**
-   * An abbreviated version of the Dartdoc associated with the element being
-   * suggested. This field is omitted if there is no Dartdoc associated with
-   * the element.
-   */
-  String get docSummary => _docSummary;
-
-  /**
-   * An abbreviated version of the Dartdoc associated with the element being
-   * suggested. This field is omitted if there is no Dartdoc associated with
-   * the element.
-   */
-  void set docSummary(String value) {
-    this._docSummary = value;
-  }
-
-  /**
    * If the element is an executable, the names of the formal parameters of all
    * kinds - required, optional positional, and optional named. The names of
    * positional parameters are empty strings. Omitted if the element is not an
@@ -5276,8 +5240,6 @@
   AvailableSuggestion(String label, String declaringLibraryUri, Element element,
       {String defaultArgumentListString,
       List<int> defaultArgumentListTextRanges,
-      String docComplete,
-      String docSummary,
       List<String> parameterNames,
       List<String> parameterTypes,
       List<String> relevanceTags,
@@ -5287,8 +5249,6 @@
     this.element = element;
     this.defaultArgumentListString = defaultArgumentListString;
     this.defaultArgumentListTextRanges = defaultArgumentListTextRanges;
-    this.docComplete = docComplete;
-    this.docSummary = docSummary;
     this.parameterNames = parameterNames;
     this.parameterTypes = parameterTypes;
     this.relevanceTags = relevanceTags;
@@ -5334,16 +5294,6 @@
             json["defaultArgumentListTextRanges"],
             jsonDecoder.decodeInt);
       }
-      String docComplete;
-      if (json.containsKey("docComplete")) {
-        docComplete = jsonDecoder.decodeString(
-            jsonPath + ".docComplete", json["docComplete"]);
-      }
-      String docSummary;
-      if (json.containsKey("docSummary")) {
-        docSummary = jsonDecoder.decodeString(
-            jsonPath + ".docSummary", json["docSummary"]);
-      }
       List<String> parameterNames;
       if (json.containsKey("parameterNames")) {
         parameterNames = jsonDecoder.decodeList(jsonPath + ".parameterNames",
@@ -5368,8 +5318,6 @@
       return new AvailableSuggestion(label, declaringLibraryUri, element,
           defaultArgumentListString: defaultArgumentListString,
           defaultArgumentListTextRanges: defaultArgumentListTextRanges,
-          docComplete: docComplete,
-          docSummary: docSummary,
           parameterNames: parameterNames,
           parameterTypes: parameterTypes,
           relevanceTags: relevanceTags,
@@ -5391,12 +5339,6 @@
     if (defaultArgumentListTextRanges != null) {
       result["defaultArgumentListTextRanges"] = defaultArgumentListTextRanges;
     }
-    if (docComplete != null) {
-      result["docComplete"] = docComplete;
-    }
-    if (docSummary != null) {
-      result["docSummary"] = docSummary;
-    }
     if (parameterNames != null) {
       result["parameterNames"] = parameterNames;
     }
@@ -5424,8 +5366,6 @@
           defaultArgumentListString == other.defaultArgumentListString &&
           listEqual(defaultArgumentListTextRanges,
               other.defaultArgumentListTextRanges, (int a, int b) => a == b) &&
-          docComplete == other.docComplete &&
-          docSummary == other.docSummary &&
           listEqual(parameterNames, other.parameterNames,
               (String a, String b) => a == b) &&
           listEqual(parameterTypes, other.parameterTypes,
@@ -5445,8 +5385,6 @@
     hash = JenkinsSmiHash.combine(hash, element.hashCode);
     hash = JenkinsSmiHash.combine(hash, defaultArgumentListString.hashCode);
     hash = JenkinsSmiHash.combine(hash, defaultArgumentListTextRanges.hashCode);
-    hash = JenkinsSmiHash.combine(hash, docComplete.hashCode);
-    hash = JenkinsSmiHash.combine(hash, docSummary.hashCode);
     hash = JenkinsSmiHash.combine(hash, parameterNames.hashCode);
     hash = JenkinsSmiHash.combine(hash, parameterTypes.hashCode);
     hash = JenkinsSmiHash.combine(hash, relevanceTags.hashCode);
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 3071788..29ba4a7 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 0.38.2-dev
+* The type of `FunctionTypeAlias.declaredElement` has been refined to
+  `FunctionTypeAliasElement`.  Since the new type is a refinement of
+  the old one, the only effect on clients should be to make certain
+  casts unnecessary.
+
+## 0.38.1
+* LinterVistor support for extension method AST nodes.
+
 ## 0.38.0
 * The deprecated method `AstFactory.compilationUnit2` has been removed.  Clients
   should switch back to `AstFactory.compilationUnit`.
diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart
index 588b923..79c25fc 100644
--- a/pkg/analyzer/lib/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/dart/ast/ast.dart
@@ -1260,11 +1260,12 @@
 ///
 ///    compilationUnitMember ::=
 ///        [ClassDeclaration]
+///      | [MixinDeclaration]
+///      | [ExtensionDeclaration]
+///      | [EnumDeclaration]
 ///      | [TypeAlias]
 ///      | [FunctionDeclaration]
-///      | [MethodDeclaration]
-///      | [VariableDeclaration]
-///      | [VariableDeclaration]
+///      | [TopLevelVariableDeclaration]
 ///
 /// Clients may not extend, implement or mix-in this class.
 abstract class CompilationUnitMember implements Declaration {}
@@ -2814,6 +2815,9 @@
 ///
 /// Clients may not extend, implement or mix-in this class.
 abstract class FunctionTypeAlias implements TypeAlias {
+  @override
+  FunctionTypeAliasElement get declaredElement;
+
   /// Return the parameters associated with the function type.
   FormalParameterList get parameters;
 
diff --git a/pkg/analyzer/lib/error/error.dart b/pkg/analyzer/lib/error/error.dart
index 48fbe59..fde3636 100644
--- a/pkg/analyzer/lib/error/error.dart
+++ b/pkg/analyzer/lib/error/error.dart
@@ -66,7 +66,7 @@
   CompileTimeErrorCode.ABSTRACT_SUPER_MEMBER_REFERENCE,
   CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD,
   CompileTimeErrorCode.AMBIGUOUS_EXPORT,
-  CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS,
+  CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS,
   CompileTimeErrorCode.AMBIGUOUS_SET_OR_MAP_LITERAL_BOTH,
   CompileTimeErrorCode.AMBIGUOUS_SET_OR_MAP_LITERAL_EITHER,
   CompileTimeErrorCode.ANNOTATION_WITH_NON_CLASS,
@@ -245,7 +245,7 @@
   CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR,
   CompileTimeErrorCode.NON_SYNC_FACTORY,
   CompileTimeErrorCode.NOT_ASSIGNED_POTENTIALLY_NON_NULLABLE_LOCAL_VARIABLE,
-  CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS,
+  CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS,
   CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_INSTANCE_FIELD,
   CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_INSTANCE_FIELD_CONSTRUCTOR,
   CompileTimeErrorCode.NOT_INITIALIZED_NON_NULLABLE_VARIABLE,
@@ -331,6 +331,7 @@
   HintCode.INFERENCE_FAILURE_ON_COLLECTION_LITERAL,
   HintCode.INFERENCE_FAILURE_ON_INSTANCE_CREATION,
   HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE,
+  HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER,
   HintCode.INVALID_FACTORY_ANNOTATION,
   HintCode.INVALID_FACTORY_METHOD_DECL,
   HintCode.INVALID_FACTORY_METHOD_IMPL,
@@ -408,6 +409,7 @@
   ParserErrorCode.ABSTRACT_TOP_LEVEL_FUNCTION,
   ParserErrorCode.ABSTRACT_TOP_LEVEL_VARIABLE,
   ParserErrorCode.ABSTRACT_TYPEDEF,
+  ParserErrorCode.ANNOTATION_WITH_TYPE_ARGUMENTS,
   ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER,
   ParserErrorCode.BREAK_OUTSIDE_OF_LOOP,
   ParserErrorCode.CATCH_SYNTAX,
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index f0b1adc..d9adea9 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -1233,6 +1233,7 @@
 
     // We need the fully resolved unit, or the result is not cached.
     return _logger.run('Compute analysis result for $path', () {
+      _logger.writeln('Work in $name');
       try {
         _testView.numOfAnalyzedLibraries++;
 
@@ -1374,10 +1375,18 @@
       }
     }
 
-    var libraryContext = _createLibraryContext(library);
-    var element = libraryContext.computeUnitElement(library, file);
-    return new UnitElementResultImpl(
-        currentSession, path, file.uri, library.transitiveSignature, element);
+    return _logger.run('Compute unit element for $path', () {
+      _logger.writeln('Work in $name');
+      var libraryContext = _createLibraryContext(library);
+      var element = libraryContext.computeUnitElement(library, file);
+      return new UnitElementResultImpl(
+        currentSession,
+        path,
+        file.uri,
+        library.transitiveSignature,
+        element,
+      );
+    });
   }
 
   String _computeUnitElementSignature(String path,
@@ -1408,6 +1417,7 @@
       _byteStore,
       _contentOverlay,
       _resourceProvider,
+      name,
       sourceFactory,
       analysisOptions,
       _unlinkedSalt,
diff --git a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
index 341366d..0132454 100644
--- a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
@@ -183,7 +183,7 @@
   static const bool constant_update_2018 = true;
 
   /// Expiration status of the experiment "control-flow-collections"
-  static const bool control_flow_collections = false;
+  static const bool control_flow_collections = true;
 
   /// Expiration status of the experiment "extension-methods"
   static const bool extension_methods = false;
@@ -195,7 +195,7 @@
   static const bool set_literals = true;
 
   /// Expiration status of the experiment "spread-collections"
-  static const bool spread_collections = false;
+  static const bool spread_collections = true;
 
   /// Expiration status of the experiment "triple-shift"
   static const bool triple_shift = false;
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 94d34a8..ffa3f84 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -825,6 +825,7 @@
 class FileSystemState {
   final PerformanceLog _logger;
   final ResourceProvider _resourceProvider;
+  final String contextName;
   final ByteStore _byteStore;
   final FileContentOverlay _contentOverlay;
   final SourceFactory _sourceFactory;
@@ -906,6 +907,7 @@
     this._byteStore,
     this._contentOverlay,
     this._resourceProvider,
+    this.contextName,
     this._sourceFactory,
     this._analysisOptions,
     this._unlinkedSalt,
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_tracker.dart b/pkg/analyzer/lib/src/dart/analysis/file_tracker.dart
index 363b777..e6ac6f1 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_tracker.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_tracker.dart
@@ -225,6 +225,8 @@
    */
   FileState verifyApiSignature(String path) {
     return _logger.run('Verify API signature of $path', () {
+      _logger.writeln('Work in ${_fsState.contextName}');
+
       bool anyApiChanged = false;
       List<FileState> files = _fsState.getFilesForPath(path);
       for (FileState file in files) {
@@ -234,7 +236,7 @@
         }
       }
       if (anyApiChanged) {
-        _logger.writeln('API signatures mismatch found for $path');
+        _logger.writeln('API signatures mismatch found.');
         // TODO(scheglov) schedule analysis of only affected files
         var pendingChangedFiles = new LinkedHashSet<String>();
         var pendingImportFiles = new LinkedHashSet<String>();
diff --git a/pkg/analyzer/lib/src/dart/analysis/search.dart b/pkg/analyzer/lib/src/dart/analysis/search.dart
index 7a638cd..d38a651 100644
--- a/pkg/analyzer/lib/src/dart/analysis/search.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/search.dart
@@ -141,7 +141,7 @@
   /**
    * Return direct [SubtypeResult]s for either the [type] or [subtype].
    */
-  Future<List<SubtypeResult>> subtypes(
+  Future<List<SubtypeResult>> subtypes(SearchedFiles searchedFiles,
       {ClassElement type, SubtypeResult subtype}) async {
     String name;
     String id;
@@ -162,10 +162,12 @@
 
     if (files != null) {
       for (FileState file in files) {
-        AnalysisDriverUnitIndex index = await _driver.getIndex(file.path);
-        if (index != null) {
-          var request = new _IndexRequest(index);
-          request.addSubtypes(id, results, file);
+        if (searchedFiles.add(file.path, this)) {
+          AnalysisDriverUnitIndex index = await _driver.getIndex(file.path);
+          if (index != null) {
+            var request = new _IndexRequest(index);
+            request.addSubtypes(id, results, file);
+          }
         }
       }
     }
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 747ecf1..fc942c1 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -2175,11 +2175,12 @@
 ///
 ///    compilationUnitMember ::=
 ///        [ClassDeclaration]
+///      | [MixinDeclaration]
+///      | [ExtensionDeclaration]
+///      | [EnumDeclaration]
 ///      | [TypeAlias]
 ///      | [FunctionDeclaration]
-///      | [MethodDeclaration]
-///      | [VariableDeclaration]
-///      | [VariableDeclaration]
+///      | [TopLevelVariableDeclaration]
 abstract class CompilationUnitMemberImpl extends DeclarationImpl
     implements CompilationUnitMember {
   /// Initialize a newly created generic compilation unit member. Either or both
@@ -3927,6 +3928,7 @@
 
   @override
   void visitChildren(AstVisitor visitor) {
+    super.visitChildren(visitor);
     name?.accept(visitor);
     _typeParameters?.accept(visitor);
     _extendedType?.accept(visitor);
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 00779a3..8cf7577 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -5120,6 +5120,15 @@
   ElementKind get kind => ElementKind.EXTENSION;
 
   @override
+  List<ElementAnnotation> get metadata {
+    if (_unlinkedExtension != null) {
+      return _metadata ??=
+          _buildAnnotations(enclosingUnit, _unlinkedExtension.annotations);
+    }
+    return super.metadata;
+  }
+
+  @override
   List<MethodElement> get methods {
     if (_methods != null) {
       return _methods;
diff --git a/pkg/analyzer/lib/src/dart/error/hint_codes.dart b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
index e596bcd..ae53a87 100644
--- a/pkg/analyzer/lib/src/dart/error/hint_codes.dart
+++ b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
@@ -238,6 +238,15 @@
           correction: "Try specifying the type of the variable.");
 
   /**
+   * When "strict-inference" in enabled, function parameters must be
+   * declared with a specific type, or inherit a type.
+   */
+  static const HintCode INFERENCE_FAILURE_ON_UNTYPED_PARAMETER = const HintCode(
+      'INFERENCE_FAILURE_ON_UNTYPED_PARAMETER',
+      "The type of {0} can't be inferred; a type must be explicitly provided.",
+      correction: "Try specifying the type of the parameter.");
+
+  /**
    * This hint is generated anywhere a @factory annotation is associated with
    * anything other than a method.
    */
@@ -770,9 +779,9 @@
    */
   static const HintCode SDK_VERSION_UI_AS_CODE_IN_CONST_CONTEXT = const HintCode(
       'SDK_VERSION_UI_AS_CODE_IN_CONST_CONTEXT',
-      "The for, if and spread elements were not supported in const contexts "
-          "until version 2.5.0, but this code is required to be able to run on "
-          "earlier versions.",
+      "The for, if and spread elements weren't supported in constant "
+          "expressions until version 2.5.0, but this code is required to be "
+          "able to run on earlier versions.",
       correction: "Try updating the SDK constraints.");
 
   /**
diff --git a/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart b/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart
index d5a9bbb..a5d6149 100644
--- a/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart
+++ b/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart
@@ -43,6 +43,9 @@
       'ABSTRACT_TYPEDEF', "Typedefs can't be declared to be 'abstract'.",
       correction: "Try removing the keyword 'abstract'.");
 
+  static const ParserErrorCode ANNOTATION_WITH_TYPE_ARGUMENTS =
+      _ANNOTATION_WITH_TYPE_ARGUMENTS;
+
   /**
    * 16.32 Identifier Reference: It is a compile-time error if any of the
    * identifiers async, await, or yield is used as an identifier in a function
diff --git a/pkg/analyzer/lib/src/dart/error/syntactic_errors.g.dart b/pkg/analyzer/lib/src/dart/error/syntactic_errors.g.dart
index 732496e..ca2f7b9 100644
--- a/pkg/analyzer/lib/src/dart/error/syntactic_errors.g.dart
+++ b/pkg/analyzer/lib/src/dart/error/syntactic_errors.g.dart
@@ -98,6 +98,7 @@
   _FIELD_INITIALIZED_OUTSIDE_DECLARING_CLASS,
   _VAR_AND_TYPE,
   _INVALID_INITIALIZER,
+  _ANNOTATION_WITH_TYPE_ARGUMENTS,
 ];
 
 const ParserErrorCode _ABSTRACT_CLASS_MEMBER = const ParserErrorCode(
@@ -106,6 +107,10 @@
     correction:
         "Try removing the 'abstract' keyword. You can add the 'abstract' keyword before the class declaration.");
 
+const ParserErrorCode _ANNOTATION_WITH_TYPE_ARGUMENTS = const ParserErrorCode(
+    'ANNOTATION_WITH_TYPE_ARGUMENTS',
+    r"An annotation (metadata) can't use type arguments.");
+
 const ParserErrorCode _BREAK_OUTSIDE_OF_LOOP = const ParserErrorCode(
     'BREAK_OUTSIDE_OF_LOOP',
     r"A break statement can't be used outside of a loop or switch statement.",
diff --git a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
index 1f86708..0147fc7 100644
--- a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
@@ -54,7 +54,7 @@
     }
 
     _errorReporter.reportErrorForNode(
-      CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS,
+      CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS,
       target,
       [
         name,
@@ -415,31 +415,24 @@
     ).substituteType(extension.extendedType);
   }
 
+  /// Return `true` is [e1] is more specific than [e2].
   bool _isMoreSpecific(_InstantiatedExtension e1, _InstantiatedExtension e2) {
-    var t10 = e1.element.extendedType;
-    var t20 = e2.element.extendedType;
-    var t11 = e1._extendedType;
-    var t21 = e2._extendedType;
-
-    bool inSdk(DartType type) {
-      if (type.isDynamic || type.isVoid) {
-        return true;
-      }
-      return t20.element.library.isInSdk;
-    }
-
-    if (inSdk(t20)) {
-      //  1. T2 is declared in a platform library, and T1 is not
-      if (!inSdk(t10)) {
-        return true;
-      }
-    } else if (inSdk(t10)) {
+    // 1. The latter extension is declared in a platform library, and the
+    // former extension is not.
+    var e1_isInSdk = e1.element.library.isInSdk;
+    var e2_isInSdk = e2.element.library.isInSdk;
+    if (e1_isInSdk && !e2_isInSdk) {
       return false;
+    } else if (!e1_isInSdk && e2_isInSdk) {
+      return true;
     }
 
+    var extendedType1 = e1._extendedType;
+    var extendedType2 = e2._extendedType;
+
     // 2. they are both declared in platform libraries or both declared in
     //    non-platform libraries, and
-    if (_isSubtypeAndNotViceVersa(t11, t21)) {
+    if (_isSubtypeAndNotViceVersa(extendedType1, extendedType2)) {
       // 3. the instantiated type (the type after applying type inference from
       //    the receiver) of T1 is a subtype of the instantiated type of T2 and
       //    either not vice versa
@@ -447,9 +440,9 @@
     }
 
     // TODO(scheglov) store instantiated types
-    var t12 = _instantiateToBounds(e1.element);
-    var t22 = _instantiateToBounds(e2.element);
-    if (_isSubtypeAndNotViceVersa(t12, t22)) {
+    var extendedTypeBound1 = _instantiateToBounds(e1.element);
+    var extendedTypeBound2 = _instantiateToBounds(e2.element);
+    if (_isSubtypeAndNotViceVersa(extendedTypeBound1, extendedTypeBound2)) {
       // or:
       // 4. the instantiate-to-bounds type of T1 is a subtype of the
       //    instantiate-to-bounds type of T2 and not vice versa.
diff --git a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
index 51d08be..24b4dd6 100644
--- a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart
@@ -54,7 +54,7 @@
   final _TypeSystemTypeOperations _typeOperations;
 
   /// Precomputed sets of potentially assigned variables.
-  final AssignedVariables<Statement, VariableElement> assignedVariables;
+  final AssignedVariables<AstNode, VariableElement> assignedVariables;
 
   /// The result for post-resolution stages of analysis.
   final FlowAnalysisResult result;
@@ -124,7 +124,7 @@
     }
   }
 
-  void blockFunctionBody_enter(BlockFunctionBody node) {
+  void functionBody_enter(FunctionBody node) {
     _blockFunctionBodyLevel++;
 
     if (_blockFunctionBodyLevel > 1) {
@@ -145,7 +145,7 @@
     }
   }
 
-  void blockFunctionBody_exit(BlockFunctionBody node) {
+  void functionBody_exit(FunctionBody node) {
     _blockFunctionBodyLevel--;
 
     if (_blockFunctionBodyLevel > 0) {
@@ -192,14 +192,15 @@
     flow.handleContinue(target);
   }
 
-  void forStatement_bodyBegin(ForStatement node, Expression condition) {
-    flow.forStatement_bodyBegin(node, condition ?? _trueLiteral);
+  void for_bodyBegin(AstNode node, Expression condition) {
+    flow.for_bodyBegin(
+        node is Statement ? node : null, condition ?? _trueLiteral);
   }
 
-  void forStatement_conditionBegin(ForStatement node, Expression condition) {
+  void for_conditionBegin(AstNode node, Expression condition) {
     if (condition != null) {
       var assigned = assignedVariables[node];
-      flow.forStatement_conditionBegin(assigned);
+      flow.for_conditionBegin(assigned);
     } else {
       flow.booleanLiteral(_trueLiteral, true);
     }
@@ -282,6 +283,14 @@
     return null;
   }
 
+  /// Computes the [AssignedVariables] map for the given [node].
+  static AssignedVariables<AstNode, VariableElement> computeAssignedVariables(
+      AstNode node) {
+    var assignedVariables = AssignedVariables<AstNode, VariableElement>();
+    node.accept(_AssignedVariablesVisitor(assignedVariables));
+    return assignedVariables;
+  }
+
   /// Return the target of the `break` or `continue` statement with the
   /// [element] label. The [element] might be `null` (when the statement does
   /// not specify a label), so the default enclosing target is returned.
@@ -315,14 +324,6 @@
     }
     return null;
   }
-
-  /// Computes the [AssignedVariables] map for the given [node].
-  static AssignedVariables<Statement, VariableElement> computeAssignedVariables(
-      AstNode node) {
-    var assignedVariables = AssignedVariables<Statement, VariableElement>();
-    node.accept(_AssignedVariablesVisitor(assignedVariables));
-    return assignedVariables;
-  }
 }
 
 /// The result of performing flow analysis on a unit.
@@ -363,40 +364,19 @@
 
   @override
   void visitDoStatement(DoStatement node) {
-    assignedVariables.beginStatement();
+    assignedVariables.beginStatementOrElement();
     super.visitDoStatement(node);
-    assignedVariables.endStatement(node);
+    assignedVariables.endStatementOrElement(node);
+  }
+
+  @override
+  void visitForElement(ForElement node) {
+    _handleFor(node, node.forLoopParts, node.body);
   }
 
   @override
   void visitForStatement(ForStatement node) {
-    var forLoopParts = node.forLoopParts;
-    if (forLoopParts is ForParts) {
-      if (forLoopParts is ForPartsWithExpression) {
-        forLoopParts.initialization?.accept(this);
-      } else if (forLoopParts is ForPartsWithDeclarations) {
-        forLoopParts.variables?.accept(this);
-      } else {
-        throw new StateError('Unrecognized for loop parts');
-      }
-
-      assignedVariables.beginStatement();
-      forLoopParts.condition?.accept(this);
-      node.body.accept(this);
-      forLoopParts.updaters?.accept(this);
-      assignedVariables.endStatement(node);
-    } else if (forLoopParts is ForEachParts) {
-      var iterable = forLoopParts.iterable;
-      var body = node.body;
-
-      iterable.accept(this);
-
-      assignedVariables.beginStatement();
-      body.accept(this);
-      assignedVariables.endStatement(node);
-    } else {
-      throw new StateError('Unrecognized for loop parts');
-    }
+    _handleFor(node, node.forLoopParts, node.body);
   }
 
   @override
@@ -406,32 +386,60 @@
 
     expression.accept(this);
 
-    assignedVariables.beginStatement();
+    assignedVariables.beginStatementOrElement();
     members.accept(this);
-    assignedVariables.endStatement(node);
+    assignedVariables.endStatementOrElement(node);
   }
 
   @override
   void visitTryStatement(TryStatement node) {
-    assignedVariables.beginStatement();
+    assignedVariables.beginStatementOrElement();
     node.body.accept(this);
-    assignedVariables.endStatement(node.body);
+    assignedVariables.endStatementOrElement(node.body);
 
     node.catchClauses.accept(this);
 
     var finallyBlock = node.finallyBlock;
     if (finallyBlock != null) {
-      assignedVariables.beginStatement();
+      assignedVariables.beginStatementOrElement();
       finallyBlock.accept(this);
-      assignedVariables.endStatement(finallyBlock);
+      assignedVariables.endStatementOrElement(finallyBlock);
     }
   }
 
   @override
   void visitWhileStatement(WhileStatement node) {
-    assignedVariables.beginStatement();
+    assignedVariables.beginStatementOrElement();
     super.visitWhileStatement(node);
-    assignedVariables.endStatement(node);
+    assignedVariables.endStatementOrElement(node);
+  }
+
+  void _handleFor(AstNode node, ForLoopParts forLoopParts, AstNode body) {
+    if (forLoopParts is ForParts) {
+      if (forLoopParts is ForPartsWithExpression) {
+        forLoopParts.initialization?.accept(this);
+      } else if (forLoopParts is ForPartsWithDeclarations) {
+        forLoopParts.variables?.accept(this);
+      } else {
+        throw new StateError('Unrecognized for loop parts');
+      }
+
+      assignedVariables.beginStatementOrElement();
+      forLoopParts.condition?.accept(this);
+      body.accept(this);
+      forLoopParts.updaters?.accept(this);
+      assignedVariables.endStatementOrElement(node);
+    } else if (forLoopParts is ForEachParts) {
+      var iterable = forLoopParts.iterable;
+
+      iterable.accept(this);
+
+      assignedVariables.beginStatementOrElement();
+      body.accept(this);
+      assignedVariables.endStatementOrElement(node);
+    } else {
+      throw new StateError('Unrecognized for loop parts');
+    }
   }
 }
 
diff --git a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
index 7fe1505..d85976c 100644
--- a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart
@@ -378,7 +378,14 @@
       ExtensionElement extension, SimpleIdentifier nameNode, String name) {
     ExecutableElement element =
         extension.getMethod(name) ?? extension.getGetter(name);
-    if (element is ExecutableElement) {
+    if (element == null) {
+      _setDynamicResolution(node);
+      _resolver.errorReporter.reportErrorForNode(
+        CompileTimeErrorCode.UNDEFINED_EXTENSION_METHOD,
+        nameNode,
+        [name, extension.name],
+      );
+    } else {
       if (!element.isStatic) {
         _resolver.errorReporter.reportErrorForNode(
             StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER,
@@ -387,8 +394,6 @@
       }
       nameNode.staticElement = element;
       _setResolution(node, _getCalleeType(node, element));
-    } else {
-      _reportUndefinedFunction(node, receiver);
     }
   }
 
diff --git a/pkg/analyzer/lib/src/error/codes.dart b/pkg/analyzer/lib/src/error/codes.dart
index abe1bf8..fe637f4 100644
--- a/pkg/analyzer/lib/src/error/codes.dart
+++ b/pkg/analyzer/lib/src/error/codes.dart
@@ -3,6 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:analyzer/error/error.dart';
+import 'package:analyzer/src/dart/error/syntactic_errors.dart';
 
 export 'package:analyzer/src/analysis_options/error/option_codes.dart';
 export 'package:analyzer/src/dart/error/hint_codes.dart';
@@ -151,9 +152,9 @@
    * 1: the name of the first declaring extension
    * 2: the name of the second declaring extension
    */
-  static const CompileTimeErrorCode AMBIGUOUS_EXTENSION_METHOD_ACCESS =
+  static const CompileTimeErrorCode AMBIGUOUS_EXTENSION_MEMBER_ACCESS =
       const CompileTimeErrorCode(
-          'AMBIGUOUS_EXTENSION_METHOD_ACCESS',
+          'AMBIGUOUS_EXTENSION_MEMBER_ACCESS',
           "A member named '{0}' is defined in extensions '{1}' and '{2}' and "
               "neither is more specific.",
           correction:
@@ -323,9 +324,8 @@
               "correcting the name to match a defined class, or "
               "defining a class with the given name.");
 
-  static const CompileTimeErrorCode ANNOTATION_WITH_TYPE_ARGUMENTS =
-      const CompileTimeErrorCode('ANNOTATION_WITH_TYPE_ARGUMENTS',
-          "An annotation (metadata) can't use type arguments.");
+  static const ParserErrorCode ANNOTATION_WITH_TYPE_ARGUMENTS =
+      ParserErrorCode.ANNOTATION_WITH_TYPE_ARGUMENTS;
 
   /**
    * 17.6.3 Asynchronous For-in: It is a compile-time error if an asynchronous
@@ -1366,8 +1366,6 @@
    * Parameters:
    * 0: the maximum number of positional arguments
    * 1: the actual number of positional arguments given
-   *
-   * See [NOT_ENOUGH_REQUIRED_ARGUMENTS].
    */
   static const CompileTimeErrorCode EXTRA_POSITIONAL_ARGUMENTS_COULD_BE_NAMED =
       const CompileTimeErrorCode('EXTRA_POSITIONAL_ARGUMENTS_COULD_BE_NAMED',
@@ -1528,9 +1526,10 @@
    */
   static const CompileTimeErrorCode IMPLEMENTS_NON_CLASS =
       const CompileTimeErrorCode('IMPLEMENTS_NON_CLASS',
-          "Classes and mixins can only implement classes.",
+          "Classes and mixins can only implement other classes and mixins.",
           correction:
-              "Try specifying a class, or remove the name from the list.");
+              "Try specifying a class or mixin, or remove the name from the "
+              "list.");
 
   /**
    * 10.10 Superinterfaces: It is a compile-time error if two elements in the
@@ -2666,19 +2665,13 @@
               "or mark it 'late'.");
 
   /**
-   * 12.14.2 Binding Actuals to Formals: It is a static warning if <i>m < h</i>
-   * or if <i>m > n</i>.
-   *
-   * 16.12.2 Const: It is a compile-time error if evaluation of a constant
-   * object results in an uncaught exception being thrown.
-   *
    * Parameters:
    * 0: the expected number of required arguments
    * 1: the actual number of positional arguments given
    */
-  static const CompileTimeErrorCode NOT_ENOUGH_REQUIRED_ARGUMENTS =
-      const CompileTimeErrorCode('NOT_ENOUGH_REQUIRED_ARGUMENTS',
-          "{0} required argument(s) expected, but {1} found.",
+  static const CompileTimeErrorCode NOT_ENOUGH_POSITIONAL_ARGUMENTS =
+      const CompileTimeErrorCode('NOT_ENOUGH_POSITIONAL_ARGUMENTS',
+          "{0} positional argument(s) expected, but {1} found.",
           correction: "Try adding the missing arguments.");
 
   /**
@@ -4596,8 +4589,6 @@
    * Parameters:
    * 0: the maximum number of positional arguments
    * 1: the actual number of positional arguments given
-   *
-   * See [NOT_ENOUGH_REQUIRED_ARGUMENTS].
    */
   static const StaticWarningCode EXTRA_POSITIONAL_ARGUMENTS =
       const StaticWarningCode('EXTRA_POSITIONAL_ARGUMENTS',
@@ -4611,8 +4602,6 @@
    * Parameters:
    * 0: the maximum number of positional arguments
    * 1: the actual number of positional arguments given
-   *
-   * See [NOT_ENOUGH_REQUIRED_ARGUMENTS].
    */
   static const StaticWarningCode EXTRA_POSITIONAL_ARGUMENTS_COULD_BE_NAMED =
       const StaticWarningCode('EXTRA_POSITIONAL_ARGUMENTS_COULD_BE_NAMED',
@@ -5214,8 +5203,6 @@
    * Parameters:
    * 0: the expected number of required arguments
    * 1: the actual number of positional arguments given
-   *
-   * See [EXTRA_POSITIONAL_ARGUMENTS].
    */
   static const StaticWarningCode NOT_ENOUGH_REQUIRED_ARGUMENTS =
       const StaticWarningCode('NOT_ENOUGH_REQUIRED_ARGUMENTS',
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index 71e5474..e270587 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -344,13 +344,12 @@
       if (function is SuperExpression) {
         return ast.superConstructorInvocation(
             function.superKeyword, null, null, initializerObject.argumentList);
-      } else {
-        return ast.redirectingConstructorInvocation(
-            (function as ThisExpression).thisKeyword,
-            null,
-            null,
-            initializerObject.argumentList);
       }
+      if (function is ThisExpression) {
+        return ast.redirectingConstructorInvocation(
+            function.thisKeyword, null, null, initializerObject.argumentList);
+      }
+      return null;
     }
 
     if (initializerObject is MethodInvocation) {
diff --git a/pkg/analyzer/lib/src/fasta/error_converter.dart b/pkg/analyzer/lib/src/fasta/error_converter.dart
index 132cb54..c7bd01a 100644
--- a/pkg/analyzer/lib/src/fasta/error_converter.dart
+++ b/pkg/analyzer/lib/src/fasta/error_converter.dart
@@ -26,12 +26,6 @@
     String lexeme() => (arguments['token'] as Token).lexeme;
 
     switch (analyzerCode) {
-      case "ANNOTATION_WITH_TYPE_ARGUMENTS":
-        errorReporter?.reportErrorForOffset(
-            CompileTimeErrorCode.ANNOTATION_WITH_TYPE_ARGUMENTS,
-            offset,
-            length);
-        return;
       case "ASYNC_FOR_IN_WRONG_CONTEXT":
         errorReporter?.reportErrorForOffset(
             CompileTimeErrorCode.ASYNC_FOR_IN_WRONG_CONTEXT, offset, length);
diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart
index 7c64ff0..7653e61 100644
--- a/pkg/analyzer/lib/src/generated/element_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/element_resolver.dart
@@ -1738,7 +1738,7 @@
     //
     ResolutionResult result = ResolutionResult.none;
     if (target is Identifier && target.staticElement is ExtensionElement) {
-      Element staticElement;
+      ExecutableElement staticElement;
       ExtensionElement extension = target.staticElement;
       String memberName = propertyName.name;
       if (propertyName.inSetterContext()) {
@@ -1746,7 +1746,19 @@
       }
       staticElement ??= extension.getGetter(memberName);
       staticElement ??= extension.getMethod(memberName);
-      if (staticElement is ExecutableElement && !staticElement.isStatic) {
+      if (staticElement == null) {
+        if (propertyName.inSetterContext()) {
+          _resolver.errorReporter.reportErrorForNode(
+              CompileTimeErrorCode.UNDEFINED_EXTENSION_SETTER,
+              propertyName,
+              [memberName, extension.name]);
+        } else {
+          _resolver.errorReporter.reportErrorForNode(
+              CompileTimeErrorCode.UNDEFINED_EXTENSION_GETTER,
+              propertyName,
+              [memberName, extension.name]);
+        }
+      } else if (!staticElement.isStatic) {
         _resolver.errorReporter.reportErrorForNode(
             StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER,
             propertyName,
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 93ef44a..5d454a5 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -3503,12 +3503,12 @@
   @override
   void visitBlockFunctionBody(BlockFunctionBody node) {
     try {
-      _flowAnalysis?.blockFunctionBody_enter(node);
+      _flowAnalysis?.functionBody_enter(node);
       inferenceContext.pushReturnContext(node);
       super.visitBlockFunctionBody(node);
     } finally {
       inferenceContext.popReturnContext(node);
-      _flowAnalysis?.blockFunctionBody_exit(node);
+      _flowAnalysis?.functionBody_exit(node);
     }
   }
 
@@ -3788,6 +3788,7 @@
       return;
     }
     try {
+      _flowAnalysis?.functionBody_enter(node);
       InferenceContext.setTypeFromNode(node.expression, node);
       inferenceContext.pushReturnContext(node);
       super.visitExpressionFunctionBody(node);
@@ -3801,6 +3802,7 @@
       }
     } finally {
       inferenceContext.popReturnContext(node);
+      _flowAnalysis?.functionBody_exit(node);
     }
   }
 
@@ -3849,10 +3851,15 @@
       } else if (forLoopParts is ForPartsWithExpression) {
         forLoopParts.initialization?.accept(this);
       }
-      InferenceContext.setType(forLoopParts.condition, typeProvider.boolType);
-      forLoopParts.condition?.accept(this);
+      var condition = forLoopParts.condition;
+      InferenceContext.setType(condition, typeProvider.boolType);
+      _flowAnalysis?.for_conditionBegin(node, condition);
+      condition?.accept(this);
+      _flowAnalysis?.for_bodyBegin(node, condition);
       node.body?.accept(this);
+      _flowAnalysis?.flow?.for_updaterBegin();
       forLoopParts.updaters.accept(this);
+      _flowAnalysis?.flow?.for_end();
     } else if (forLoopParts is ForEachParts) {
       Expression iterable = forLoopParts.iterable;
       DeclaredIdentifier loopVariable;
@@ -3884,8 +3891,12 @@
       // variable cannot be in scope while visiting the iterator.
       //
       iterable?.accept(this);
+      _flowAnalysis?.loopVariable(loopVariable);
       loopVariable?.accept(this);
+      _flowAnalysis?.flow
+          ?.forEach_bodyBegin(_flowAnalysis?.assignedVariables[node]);
       node.body?.accept(this);
+      _flowAnalysis?.flow?.forEach_end();
 
       node.accept(elementResolver);
       node.accept(typeAnalyzer);
@@ -3907,18 +3918,18 @@
       var condition = forLoopParts.condition;
       InferenceContext.setType(condition, typeProvider.boolType);
 
-      _flowAnalysis?.forStatement_conditionBegin(node, condition);
+      _flowAnalysis?.for_conditionBegin(node, condition);
       if (condition != null) {
         condition.accept(this);
       }
 
-      _flowAnalysis?.forStatement_bodyBegin(node, condition);
+      _flowAnalysis?.for_bodyBegin(node, condition);
       visitStatementInScope(node.body);
 
-      _flowAnalysis?.flow?.forStatement_updaterBegin();
+      _flowAnalysis?.flow?.for_updaterBegin();
       forLoopParts.updaters.accept(this);
 
-      _flowAnalysis?.flow?.forStatement_end();
+      _flowAnalysis?.flow?.for_end();
     } else if (forLoopParts is ForEachParts) {
       Expression iterable = forLoopParts.iterable;
       DeclaredIdentifier loopVariable;
@@ -3959,7 +3970,7 @@
       _flowAnalysis?.loopVariable(loopVariable);
       loopVariable?.accept(this);
 
-      _flowAnalysis?.flow?.forEachStatement_bodyBegin(
+      _flowAnalysis?.flow?.forEach_bodyBegin(
         _flowAnalysis?.assignedVariables[node],
       );
 
@@ -3968,7 +3979,7 @@
         visitStatementInScope(body);
       }
 
-      _flowAnalysis?.flow?.forEachStatement_end();
+      _flowAnalysis?.flow?.forEach_end();
 
       node.accept(elementResolver);
       node.accept(typeAnalyzer);
@@ -5053,7 +5064,7 @@
     }
     if (positionalArgumentCount < requiredParameterCount && noBlankArguments) {
       ErrorCode errorCode = (reportAsError
-          ? CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS
+          ? CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS
           : StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS);
       if (onError != null) {
         onError(errorCode, argumentList,
diff --git a/pkg/analyzer/lib/src/generated/static_type_analyzer.dart b/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
index 2dc19dc..73b881c 100644
--- a/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
+++ b/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
@@ -481,6 +481,34 @@
     _resolver.extensionResolver.resolveOverride(node);
   }
 
+  /// No inference is performed here; just static checking for the
+  /// "strict-inference" static analysis mode.
+  @override
+  void visitFormalParameterList(FormalParameterList node) {
+    void checkParameterTypeIsKnown(SimpleFormalParameter parameter) {
+      ParameterElement element = parameter.declaredElement;
+      if (parameter.type == null) {
+        _resolver.errorReporter.reportTypeErrorForNode(
+          HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER,
+          parameter,
+          [element.displayName],
+        );
+      }
+    }
+
+    if (_strictInference) {
+      for (FormalParameter parameter in node.parameters) {
+        if (parameter is SimpleFormalParameter) {
+          checkParameterTypeIsKnown(parameter);
+        } else if (parameter is DefaultFormalParameter) {
+          if (parameter.parameter is SimpleFormalParameter) {
+            checkParameterTypeIsKnown(parameter.parameter);
+          }
+        }
+      }
+    }
+  }
+
   @override
   void visitFunctionDeclaration(FunctionDeclaration node) {
     FunctionExpression function = node.functionExpression;
diff --git a/pkg/analyzer/lib/src/lint/linter_visitor.dart b/pkg/analyzer/lib/src/lint/linter_visitor.dart
index 7e0df3b..9716aaf 100644
--- a/pkg/analyzer/lib/src/lint/linter_visitor.dart
+++ b/pkg/analyzer/lib/src/lint/linter_visitor.dart
@@ -241,6 +241,18 @@
   }
 
   @override
+  void visitExtensionDeclaration(ExtensionDeclaration node) {
+    _runSubscriptions(node, registry._forExtensionDeclaration);
+    super.visitExtensionDeclaration(node);
+  }
+
+  @override
+  void visitExtensionOverride(ExtensionOverride node) {
+    _runSubscriptions(node, registry._forExtensionOverride);
+    super.visitExtensionOverride(node);
+  }
+
+  @override
   void visitFieldDeclaration(FieldDeclaration node) {
     _runSubscriptions(node, registry._forFieldDeclaration);
     super.visitFieldDeclaration(node);
@@ -765,6 +777,8 @@
       [];
   final List<_Subscription<ExpressionStatement>> _forExpressionStatement = [];
   final List<_Subscription<ExtendsClause>> _forExtendsClause = [];
+  final List<_Subscription<ExtendsClause>> _forExtensionDeclaration = [];
+  final List<_Subscription<ExtendsClause>> _forExtensionOverride = [];
   final List<_Subscription<FieldDeclaration>> _forFieldDeclaration = [];
   final List<_Subscription<FieldFormalParameter>> _forFieldFormalParameter = [];
   final List<_Subscription<ForEachPartsWithDeclaration>>
@@ -1039,6 +1053,16 @@
         .add(new _Subscription(linter, visitor, _getTimer(linter)));
   }
 
+  void addExtensionDeclaration(LintRule linter, AstVisitor visitor) {
+    _forExtensionDeclaration
+        .add(new _Subscription(linter, visitor, _getTimer(linter)));
+  }
+
+  void addExtensionOverride(LintRule linter, AstVisitor visitor) {
+    _forExtensionOverride
+        .add(new _Subscription(linter, visitor, _getTimer(linter)));
+  }
+
   void addFieldDeclaration(LintRule linter, AstVisitor visitor) {
     _forFieldDeclaration
         .add(new _Subscription(linter, visitor, _getTimer(linter)));
diff --git a/pkg/analyzer/lib/src/lint/util.dart b/pkg/analyzer/lib/src/lint/util.dart
index 57e33be..d78b531 100644
--- a/pkg/analyzer/lib/src/lint/util.dart
+++ b/pkg/analyzer/lib/src/lint/util.dart
@@ -90,8 +90,11 @@
 class Spelunker {
   final String path;
   final IOSink sink;
+  FeatureSet featureSet;
 
-  Spelunker(this.path, {IOSink sink}) : this.sink = sink ?? stdout;
+  Spelunker(this.path, {IOSink sink, FeatureSet featureSet})
+      : this.sink = sink ?? stdout,
+        featureSet = featureSet ?? FeatureSet.fromEnableFlags([]);
 
   void spelunk() {
     var contents = new File(path).readAsStringSync();
@@ -100,8 +103,6 @@
 
     var reader = new CharSequenceReader(contents);
     var stringSource = new StringSource(contents, path);
-    // TODO(paulberry): figure out the appropriate featureSet to use here
-    var featureSet = FeatureSet.fromEnableFlags([]);
     var scanner = new Scanner(stringSource, reader, errorListener)
       ..configureFeatures(featureSet);
     var startToken = scanner.tokenize();
diff --git a/pkg/analyzer/lib/src/summary/link.dart b/pkg/analyzer/lib/src/summary/link.dart
index 96da0a0..b724baf 100644
--- a/pkg/analyzer/lib/src/summary/link.dart
+++ b/pkg/analyzer/lib/src/summary/link.dart
@@ -558,7 +558,7 @@
 /// linking.
 class ClassElementForLink_Class extends ClassElementForLink
     with TypeParameterizedElementMixin, SimplyBoundableForLinkMixin
-    implements ClassElementImpl {
+    implements ClassElementImpl, ClassMemberContainerForLink {
   /// The unlinked representation of the class in the summary.
   final UnlinkedClass _unlinkedClass;
 
@@ -1054,6 +1054,9 @@
   String toString() => '$enclosingElement.$name';
 }
 
+abstract class ClassMemberContainerForLink
+    implements ReferenceableElementForLink, TypeParameterizedElementMixin {}
+
 /// Element representing a compilation unit resynthesized from a
 /// summary during linking.
 abstract class CompilationUnitElementForLink
@@ -2033,7 +2036,8 @@
   ConstructorElementForLink get asConstructor => this;
 
   @override
-  ClassElementImpl get enclosingElement => super.enclosingClass;
+  ClassElementImpl get enclosingElement =>
+      super.enclosingClass as ClassElementImpl;
 
   @override
   String get identifier => name;
@@ -2411,7 +2415,7 @@
     extends ExecutableElementForLink {
   /// Return the class in which this executable appears, maybe `null` for a
   /// top-level function.
-  final ClassElementForLink_Class enclosingClass;
+  final ClassMemberContainerForLink enclosingClass;
 
   ExecutableElementForLink_NonLocal(
       CompilationUnitElementForLink compilationUnit,
@@ -2568,18 +2572,129 @@
 
 class ExtensionElementForLink
     with ReferenceableElementForLink
-    implements ExtensionElementImpl {
+    implements ClassMemberContainerForLink, ExtensionElementImpl {
   @override
   final CompilationUnitElementForLink enclosingElement;
 
   final UnlinkedExtension _unlinkedExtension;
 
+  Map<String, ReferenceableElementForLink> _containedNames;
+
+  List<PropertyAccessorElementForLink> _accessors;
+  List<FieldElementForLink_ClassField> _fields;
+  List<MethodElement> _methods;
+
   ExtensionElementForLink(this.enclosingElement, this._unlinkedExtension);
 
   @override
+  List<PropertyAccessorElementForLink> get accessors {
+    if (_accessors == null) {
+      _accessors = <PropertyAccessorElementForLink>[];
+      Map<String, SyntheticVariableElementForLink> syntheticVariables =
+          <String, SyntheticVariableElementForLink>{};
+      for (UnlinkedExecutable unlinkedExecutable
+          in _unlinkedExtension.executables) {
+        if (unlinkedExecutable.kind == UnlinkedExecutableKind.getter ||
+            unlinkedExecutable.kind == UnlinkedExecutableKind.setter) {
+          String name = unlinkedExecutable.name;
+          if (unlinkedExecutable.kind == UnlinkedExecutableKind.setter) {
+            assert(name.endsWith('='));
+            name = name.substring(0, name.length - 1);
+          }
+          SyntheticVariableElementForLink syntheticVariable = syntheticVariables
+              .putIfAbsent(name, () => new SyntheticVariableElementForLink());
+          PropertyAccessorElementForLink_Executable accessor =
+              new PropertyAccessorElementForLink_Executable(enclosingElement,
+                  this, unlinkedExecutable, syntheticVariable);
+          _accessors.add(accessor);
+          if (unlinkedExecutable.kind == UnlinkedExecutableKind.getter) {
+            syntheticVariable._getter = accessor;
+          } else {
+            syntheticVariable._setter = accessor;
+          }
+        }
+      }
+      for (FieldElementForLink_ClassField field in fields) {
+        _accessors.add(field.getter);
+        if (!field.isConst && !field.isFinal) {
+          _accessors.add(field.setter);
+        }
+      }
+    }
+    return _accessors;
+  }
+
+  @override
+  List<FieldElementForLink_ClassField> get fields {
+    if (_fields == null) {
+      _fields = <FieldElementForLink_ClassField>[];
+      for (int i = 0; i < _unlinkedExtension.fields.length; i++) {
+        var field = _unlinkedExtension.fields[i];
+        _fields.add(new FieldElementForLink_ClassField(this, field, null));
+      }
+    }
+    return _fields;
+  }
+
+  @override
+  List<MethodElement> get methods {
+    if (_methods == null) {
+      _methods = <MethodElementForLink>[];
+      for (UnlinkedExecutable unlinkedExecutable
+          in _unlinkedExtension.executables) {
+        if (unlinkedExecutable.kind ==
+            UnlinkedExecutableKind.functionOrMethod) {
+          _methods.add(new MethodElementForLink(this, unlinkedExecutable));
+        }
+      }
+    }
+    return _methods;
+  }
+
+  @override
   String get name => _unlinkedExtension.name;
 
   @override
+  ReferenceableElementForLink getContainedName(String name) {
+    if (_containedNames == null) {
+      _containedNames = <String, ReferenceableElementForLink>{};
+      // TODO(paulberry): what's the correct way to handle name conflicts?
+      for (PropertyAccessorElementForLink accessor in accessors) {
+        _containedNames[accessor.name] = accessor;
+      }
+      for (MethodElementForLink method in methods) {
+        _containedNames[method.name] = method;
+      }
+    }
+    return _containedNames.putIfAbsent(
+        name, () => UndefinedElementForLink.instance);
+  }
+
+  @override
+  PropertyAccessorElement getGetter(String getterName) {
+    for (PropertyAccessorElement accessor in accessors) {
+      if (accessor.isGetter && accessor.name == getterName) {
+        return accessor;
+      }
+    }
+    return null;
+  }
+
+  @override
+  MethodElement getMethod(String methodName) {
+    for (MethodElement method in methods) {
+      if (method.name == methodName) {
+        return method;
+      }
+    }
+    return null;
+  }
+
+  @override
+  PropertyAccessorElement getSetter(String setterName) =>
+      AbstractClassElementImpl.getSetterFromAccessors(setterName, accessors);
+
+  @override
   noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
 }
 
@@ -2597,7 +2712,7 @@
 class FieldElementForLink_ClassField extends VariableElementForLink
     implements FieldElementForLink {
   @override
-  final ClassElementForLink_Class enclosingElement;
+  final ClassMemberContainerForLink enclosingElement;
 
   /// If this is an instance field, the type that was computed by
   /// [InstanceMemberInferrer] (if any).  Otherwise `null`.
@@ -2605,7 +2720,7 @@
 
   TopLevelInferenceErrorBuilder _inferenceError;
 
-  FieldElementForLink_ClassField(ClassElementForLink_Class enclosingElement,
+  FieldElementForLink_ClassField(ClassMemberContainerForLink enclosingElement,
       UnlinkedVariable unlinkedVariable, Expression initializerForInference)
       : enclosingElement = enclosingElement,
         super(unlinkedVariable, enclosingElement.enclosingElement,
@@ -4090,7 +4205,7 @@
 class MethodElementForLink extends ExecutableElementForLink_NonLocal
     with ReferenceableElementForLink
     implements MethodElementImpl {
-  MethodElementForLink(ClassElementForLink_Class enclosingClass,
+  MethodElementForLink(ClassMemberContainerForLink enclosingClass,
       UnlinkedExecutable unlinkedExecutable)
       : super(enclosingClass.enclosingElement, enclosingClass,
             unlinkedExecutable);
@@ -4099,9 +4214,6 @@
   DartType get asStaticType => type;
 
   @override
-  ClassElementImpl get enclosingElement => super.enclosingClass;
-
-  @override
   String get identifier => name;
 
   @override
@@ -4656,7 +4768,7 @@
 
   PropertyAccessorElementForLink_Executable(
       CompilationUnitElementForLink enclosingUnit,
-      ClassElementForLink_Class enclosingClass,
+      ClassMemberContainerForLink enclosingClass,
       UnlinkedExecutable unlinkedExecutable,
       this.variable)
       : super(enclosingUnit, enclosingClass, unlinkedExecutable);
diff --git a/pkg/analyzer/lib/src/summary2/default_value_resolver.dart b/pkg/analyzer/lib/src/summary2/default_value_resolver.dart
index 3baf981..728005e 100644
--- a/pkg/analyzer/lib/src/summary2/default_value_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/default_value_resolver.dart
@@ -102,7 +102,9 @@
     }
     if (defaultValue == null) return;
 
-    defaultValue.accept(LocalElementBuilder(ElementHolder(), null));
+    var holder = ElementHolder();
+    defaultValue.accept(LocalElementBuilder(holder, null));
+    parameter.encloseElements(holder.localVariables);
 
     var contextType = TypeVariableEliminator(_linker.typeProvider)
         .substituteType(parameter.type);
diff --git a/pkg/analyzer/lib/src/summary2/function_type_builder.dart b/pkg/analyzer/lib/src/summary2/function_type_builder.dart
index 2cec063..836b1cf 100644
--- a/pkg/analyzer/lib/src/summary2/function_type_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/function_type_builder.dart
@@ -39,23 +39,15 @@
     this.node,
   });
 
+  /// [isNNBD] indicates whether the containing library is opted into NNBD.
   factory FunctionTypeBuilder.of(
+    bool isNNBD,
     GenericFunctionType node,
     NullabilitySuffix nullabilitySuffix,
   ) {
     return FunctionTypeBuilder(
-      node.typeParameters?.typeParameters
-              ?.map((n) => n.declaredElement)
-              ?.toList() ??
-          [],
-      node.parameters.parameters.map((n) {
-        return ParameterElementImpl.synthetic(
-          n.identifier?.name ?? '',
-          _getParameterType(n),
-          // ignore: deprecated_member_use_from_same_package
-          n.kind,
-        );
-      }).toList(),
+      _getTypeParameters(node.typeParameters),
+      _getParameters(isNNBD, node.parameters),
       _getNodeType(node.returnType),
       nullabilitySuffix,
       node: node,
@@ -132,14 +124,52 @@
     }
   }
 
+  /// [isNNBD] indicates whether the containing library is opted into NNBD.
+  static List<ParameterElementImpl> _getParameters(
+    bool isNNBD,
+    FormalParameterList node,
+  ) {
+    return node.parameters.map((parameter) {
+      return ParameterElementImpl.synthetic(
+        parameter.identifier?.name ?? '',
+        _getParameterType(isNNBD, parameter),
+        // ignore: deprecated_member_use_from_same_package
+        parameter.kind,
+      );
+    }).toList();
+  }
+
   /// Return the type of the [node] as is, possibly a [TypeBuilder].
-  static DartType _getParameterType(FormalParameter node) {
+  ///
+  /// [isNNBD] indicates whether the containing library is opted into NNBD.
+  static DartType _getParameterType(bool isNNBD, FormalParameter node) {
     if (node is DefaultFormalParameter) {
-      return _getParameterType(node.parameter);
+      return _getParameterType(isNNBD, node.parameter);
     } else if (node is SimpleFormalParameter) {
       return _getNodeType(node.type);
+    } else if (node is FunctionTypedFormalParameter) {
+      NullabilitySuffix nullabilitySuffix;
+      if (node.question != null) {
+        nullabilitySuffix = NullabilitySuffix.question;
+      } else if (isNNBD) {
+        nullabilitySuffix = NullabilitySuffix.none;
+      } else {
+        nullabilitySuffix = NullabilitySuffix.question;
+      }
+
+      return FunctionTypeBuilder(
+        _getTypeParameters(node.typeParameters),
+        _getParameters(isNNBD, node.parameters),
+        _getNodeType(node.returnType),
+        nullabilitySuffix,
+      );
     } else {
       throw UnimplementedError('(${node.runtimeType}) $node');
     }
   }
+
+  static List<TypeParameterElement> _getTypeParameters(TypeParameterList node) {
+    if (node == null) return const [];
+    return node.typeParameters.map((n) => n.declaredElement).toList();
+  }
 }
diff --git a/pkg/analyzer/lib/src/summary2/reference_resolver.dart b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
index 050a3af..3d780ac 100644
--- a/pkg/analyzer/lib/src/summary2/reference_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/reference_resolver.dart
@@ -33,7 +33,9 @@
   final LinkedElementFactory elementFactory;
   final LibraryElement _libraryElement;
   final Reference unitReference;
-  final bool nnbd;
+
+  /// Indicates whether the library is opted into NNBD.
+  final bool isNNBD;
 
   /// The depth-first number of the next [GenericFunctionType] node.
   int _nextGenericFunctionTypeId = 0;
@@ -49,7 +51,7 @@
     this.elementFactory,
     this._libraryElement,
     this.unitReference,
-    this.nnbd,
+    this.isNNBD,
     this.scope,
   ) : reference = unitReference;
 
@@ -265,7 +267,11 @@
 
     node.returnType?.accept(this);
     node.typeParameters?.accept(this);
+
+    reference = reference.getChild('@function');
+    reference.element = element;
     node.parameters.accept(this);
+
     nodesToBuildType.addDeclaration(node);
 
     scope = outerScope;
@@ -328,7 +334,7 @@
     node.parameters.accept(this);
 
     var nullabilitySuffix = _getNullabilitySuffix(node.question != null);
-    var builder = FunctionTypeBuilder.of(node, nullabilitySuffix);
+    var builder = FunctionTypeBuilder.of(isNNBD, node, nullabilitySuffix);
     (node as GenericFunctionTypeImpl).type = builder;
     nodesToBuildType.addTypeBuilder(builder);
 
@@ -530,7 +536,7 @@
   }
 
   NullabilitySuffix _getNullabilitySuffix(bool hasQuestion) {
-    if (nnbd) {
+    if (isNNBD) {
       if (hasQuestion) {
         return NullabilitySuffix.question;
       } else {
diff --git a/pkg/analyzer/lib/src/summary2/top_level_inference.dart b/pkg/analyzer/lib/src/summary2/top_level_inference.dart
index 8516655..f4273a7 100644
--- a/pkg/analyzer/lib/src/summary2/top_level_inference.dart
+++ b/pkg/analyzer/lib/src/summary2/top_level_inference.dart
@@ -47,35 +47,50 @@
   void perform() {
     for (var builder in linker.builders.values) {
       _library = builder.element;
-      for (var unitContext in builder.context.units) {
-        for (var unitMember in unitContext.unit.declarations) {
-          _scope = builder.scope;
-          if (unitMember is TopLevelVariableDeclaration) {
-            _variableDeclarationList(unitMember.variables);
-          } else if (unitMember is ClassOrMixinDeclaration) {
-            _scope = LinkingNodeContext.get(unitMember).scope;
-            for (var classMember in unitMember.members) {
-              if (classMember is FieldDeclaration) {
-                _variableDeclarationList(classMember.fields);
-              }
-            }
-          }
-        }
+      for (var unit in _library.units) {
+        unit.extensions.forEach(_resolveExtensionFields);
+        unit.mixins.forEach(_resolveClassFields);
+        unit.types.forEach(_resolveClassFields);
+
+        _scope = builder.scope;
+        unit.topLevelVariables.forEach(_resolveVariable);
       }
     }
   }
 
-  void _variableDeclarationList(VariableDeclarationList node) {
-    var typeNode = node.type;
-    if (node.isConst && typeNode != null) {
-      for (var variable in node.variables) {
-        if (variable.initializer != null) {
-          InferenceContext.setType(variable.initializer, typeNode.type);
-          var astResolver = AstResolver(linker, _library, _scope);
-          astResolver.rewriteAst(variable.initializer);
-          astResolver.resolve(variable.initializer);
-        }
-      }
+  void _resolveClassFields(ClassElement class_) {
+    var node = _getLinkedNode(class_);
+    _scope = LinkingNodeContext.get(node).scope;
+    for (var element in class_.fields) {
+      _resolveVariable(element);
+    }
+  }
+
+  void _resolveExtensionFields(ExtensionElement extension_) {
+    var node = _getLinkedNode(extension_);
+    _scope = LinkingNodeContext.get(node).scope;
+    for (var element in extension_.fields) {
+      _resolveVariable(element);
+    }
+  }
+
+  void _resolveVariable(VariableElement element) {
+    if (element.isSynthetic) return;
+
+    VariableDeclaration variable = _getLinkedNode(element);
+    if (variable.initializer == null) return;
+
+    VariableDeclarationList declarationList = variable.parent;
+    var typeNode = declarationList.type;
+    if (declarationList.isConst && typeNode != null) {
+      var holder = ElementHolder();
+      variable.initializer.accept(LocalElementBuilder(holder, null));
+      (element as VariableElementImpl).encloseElements(holder.functions);
+
+      InferenceContext.setType(variable.initializer, typeNode.type);
+      var astResolver = AstResolver(linker, _library, _scope);
+      astResolver.rewriteAst(variable.initializer);
+      astResolver.resolve(variable.initializer);
     }
   }
 }
diff --git a/pkg/analyzer/lib/src/task/strong/checker.dart b/pkg/analyzer/lib/src/task/strong/checker.dart
index 00ca4ae..bd86f884 100644
--- a/pkg/analyzer/lib/src/task/strong/checker.dart
+++ b/pkg/analyzer/lib/src/task/strong/checker.dart
@@ -901,9 +901,6 @@
           classLowerBound, Name(element.librarySource.uri, element.name));
       if (memberLowerBound == null &&
           element.enclosingElement is ExtensionElement) {
-        // TODO(brianwilkerson) At this point, I think we need to search for the
-        //  extension member in the lower bound of the extended type. For now we
-        //  return in order to stop it from crashing.
         return;
       }
       var expectedType = invokeType.returnType;
diff --git a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
index 148acf6..ed79e1a 100644
--- a/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
+++ b/pkg/analyzer/lib/src/test_utilities/mock_sdk.dart
@@ -13,24 +13,13 @@
 import 'package:analyzer/src/summary/summary_file_builder.dart';
 import 'package:meta/meta.dart';
 
-const String librariesContent = r'''
-const Map<String, LibraryInfo> libraries = const {
-  "async": const LibraryInfo("async/async.dart"),
-  "collection": const LibraryInfo("collection/collection.dart"),
-  "convert": const LibraryInfo("convert/convert.dart"),
-  "core": const LibraryInfo("core/core.dart"),
-  "html": const LibraryInfo(
-    "html/dartium/html_dartium.dart",
-    dart2jsPath: "html/dart2js/html_dart2js.dart"),
-  "math": const LibraryInfo("math/math.dart"),
-  "_foreign_helper": const LibraryInfo("_internal/js_runtime/lib/foreign_helper.dart"),
-};
-''';
-
 const String sdkRoot = '/sdk';
 
-const _MockSdkLibrary _LIB_ASYNC =
-    const _MockSdkLibrary('dart:async', '$sdkRoot/lib/async/async.dart', '''
+final MockSdkLibrary _LIB_ASYNC = MockSdkLibrary([
+  MockSdkLibraryUnit(
+    'dart:async',
+    '$sdkRoot/lib/async/async.dart',
+    '''
 library dart.async;
 
 import 'dart:math';
@@ -63,8 +52,12 @@
 abstract class Timer {
   static void run(void callback()) {}
 }
-''', const <String, String>{
-  '$sdkRoot/lib/async/stream.dart': r'''
+''',
+  ),
+  MockSdkLibraryUnit(
+    'dart:async/stream.dart',
+    '$sdkRoot/lib/async/stream.dart',
+    r'''
 part of dart.async;
 abstract class Stream<T> {
   Future<T> get first;
@@ -90,18 +83,27 @@
 }
 
 abstract class StreamTransformer<S, T> {}
-'''
-});
+''',
+  )
+]);
 
-const _MockSdkLibrary _LIB_ASYNC2 =
-    const _MockSdkLibrary('dart:async2', '$sdkRoot/lib/async2/async2.dart', '''
+final MockSdkLibrary _LIB_ASYNC2 = MockSdkLibrary([
+  MockSdkLibraryUnit(
+    'dart:async2',
+    '$sdkRoot/lib/async2/async2.dart',
+    '''
 library dart.async2;
 
 class Future {}
-''');
+''',
+  )
+]);
 
-const _MockSdkLibrary _LIB_COLLECTION = const _MockSdkLibrary(
-    'dart:collection', '$sdkRoot/lib/collection/collection.dart', '''
+final MockSdkLibrary _LIB_COLLECTION = MockSdkLibrary([
+  MockSdkLibraryUnit(
+    'dart:collection',
+    '$sdkRoot/lib/collection/collection.dart',
+    '''
 library dart.collection;
 
 abstract class HashMap<K, V> implements Map<K, V> {}
@@ -113,20 +115,33 @@
 }
 abstract class HashSet<E> implements Set<E> {}
 abstract class LinkedHashSet<E> implements Set<E> {}
-''');
+''',
+  )
+]);
 
-const _MockSdkLibrary _LIB_CONVERT = const _MockSdkLibrary(
-    'dart:convert', '$sdkRoot/lib/convert/convert.dart', '''
+final MockSdkLibrary _LIB_CONVERT = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:convert',
+      '$sdkRoot/lib/convert/convert.dart',
+      '''
 library dart.convert;
 
 import 'dart:async';
 
 abstract class Converter<S, T> implements StreamTransformer {}
 class JsonDecoder extends Converter<String, Object> {}
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_CORE =
-    const _MockSdkLibrary('dart:core', '$sdkRoot/lib/core/core.dart', '''
+final MockSdkLibrary _LIB_CORE = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:core',
+      '$sdkRoot/lib/core/core.dart',
+      '''
 library dart.core;
 
 import 'dart:async'; // ignore: unused_import
@@ -376,26 +391,46 @@
 class _SymbolImpl {
   const _SymbolImpl(String name);
 }
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_FOREIGN_HELPER = const _MockSdkLibrary(
-    'dart:_foreign_helper',
-    '$sdkRoot/lib/_foreign_helper/_foreign_helper.dart', '''
+final MockSdkLibrary _LIB_FOREIGN_HELPER = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:_foreign_helper',
+      '$sdkRoot/lib/_foreign_helper/_foreign_helper.dart',
+      '''
 library dart._foreign_helper;
 
 JS(String typeDescription, String codeTemplate,
   [arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11])
 {}
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_HTML_DART2JS = const _MockSdkLibrary(
-    'dart:html', '$sdkRoot/lib/html/dart2js/html_dart2js.dart', '''
+final MockSdkLibrary _LIB_HTML_DART2JS = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:html',
+      '$sdkRoot/lib/html/dart2js/html_dart2js.dart',
+      '''
 library dart.html;
 class HtmlElement {}
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_HTML_DARTIUM = const _MockSdkLibrary(
-    'dart:html', '$sdkRoot/lib/html/dartium/html_dartium.dart', '''
+final MockSdkLibrary _LIB_HTML_DARTIUM = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:html',
+      '$sdkRoot/lib/html/dartium/html_dartium.dart',
+      '''
 library dart.dom.html;
 
 final HtmlDocument document;
@@ -424,26 +459,46 @@
 abstract class CanvasRenderingContext2D {}
 
 Element query(String relativeSelectors) => null;
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_INTERCEPTORS = const _MockSdkLibrary(
-    'dart:_interceptors',
-    '$sdkRoot/lib/_internal/js_runtime/lib/interceptors.dart', '''
+final MockSdkLibrary _LIB_INTERCEPTORS = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:_interceptors',
+      '$sdkRoot/lib/_internal/js_runtime/lib/interceptors.dart',
+      '''
 library dart._interceptors;
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_INTERNAL = const _MockSdkLibrary(
-    'dart:_internal', '$sdkRoot/lib/_internal/internal.dart', '''
+final MockSdkLibrary _LIB_INTERNAL = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:_internal',
+      '$sdkRoot/lib/_internal/internal.dart',
+      '''
 library dart._internal;
 class Symbol {}
 class ExternalName {
   final String name;
   const ExternalName(this.name);
 }
-''');
+''',
+    )
+  ],
+);
 
-const _MockSdkLibrary _LIB_MATH =
-    const _MockSdkLibrary('dart:math', '$sdkRoot/lib/math/math.dart', '''
+final MockSdkLibrary _LIB_MATH = MockSdkLibrary(
+  [
+    MockSdkLibraryUnit(
+      'dart:math',
+      '$sdkRoot/lib/math/math.dart',
+      '''
 library dart.math;
 
 const double E = 2.718281828459045;
@@ -463,9 +518,12 @@
   int nextInt() => 1;
 }
 class Point<T extends num> {}
-''');
+''',
+    )
+  ],
+);
 
-const List<SdkLibrary> _LIBRARIES = const [
+final List<SdkLibrary> _LIBRARIES = [
   _LIB_CORE,
   _LIB_ASYNC,
   _LIB_ASYNC2,
@@ -479,22 +537,19 @@
   _LIB_INTERNAL,
 ];
 
-class MockSdk implements DartSdk {
-  static const Map<String, String> _URI_MAP = const {
-    "dart:core": "$sdkRoot/lib/core/core.dart",
-    "dart:html": "$sdkRoot/lib/html/dartium/html_dartium.dart",
-    "dart:async": "$sdkRoot/lib/async/async.dart",
-    "dart:async2": "$sdkRoot/lib/async2/async2.dart",
-    "dart:async/stream.dart": "$sdkRoot/lib/async/stream.dart",
-    "dart:collection": "$sdkRoot/lib/collection/collection.dart",
-    "dart:convert": "$sdkRoot/lib/convert/convert.dart",
-    "dart:_foreign_helper": "$sdkRoot/lib/_foreign_helper/_foreign_helper.dart",
-    "dart:_interceptors":
-        "$sdkRoot/lib/_internal/js_runtime/lib/interceptors.dart",
-    "dart:_internal": "$sdkRoot/lib/_internal/internal.dart",
-    "dart:math": "$sdkRoot/lib/math/math.dart"
-  };
+final Map<String, String> _librariesDartEntries = {
+  'async': 'const LibraryInfo("async/async.dart")',
+  'collection': 'const LibraryInfo("collection/collection.dart")',
+  'convert': 'const LibraryInfo("convert/convert.dart")',
+  'core': 'const LibraryInfo("core/core.dart")',
+  'html': 'const LibraryInfo("html/dartium/html_dartium.dart", '
+      'dart2jsPath: "html/dart2js/html_dart2js.dart")',
+  'math': 'const LibraryInfo("math/math.dart")',
+  '_foreign_helper':
+      'const LibraryInfo("_internal/js_runtime/lib/foreign_helper.dart")',
+};
 
+class MockSdk implements DartSdk {
   final MemoryResourceProvider resourceProvider;
 
   final Map<String, String> uriMap = {};
@@ -512,26 +567,57 @@
    */
   PackageBundle _bundle;
 
-  MockSdk({bool generateSummaryFiles: false, @required this.resourceProvider}) {
-    _URI_MAP.forEach((uri, path) {
-      uriMap[uri] = resourceProvider.convertPath(path);
-    });
-
-    for (_MockSdkLibrary library in _LIBRARIES) {
+  /// Optional [additionalLibraries] should have unique URIs, and paths in
+  /// their units are relative (will be put into `sdkRoot/lib`).
+  MockSdk({
+    bool generateSummaryFiles: false,
+    @required this.resourceProvider,
+    List<MockSdkLibrary> additionalLibraries = const [],
+  }) {
+    for (MockSdkLibrary library in _LIBRARIES) {
       var convertedLibrary = library._toProvider(resourceProvider);
       sdkLibraries.add(convertedLibrary);
     }
-
-    for (_MockSdkLibrary library in sdkLibraries) {
-      resourceProvider.newFile(library.path, library.content);
-      library.parts.forEach((String path, String content) {
-        resourceProvider.newFile(path, content);
-      });
+    for (MockSdkLibrary library in additionalLibraries) {
+      sdkLibraries.add(
+        MockSdkLibrary(
+          library.units.map(
+            (unit) {
+              var pathContext = resourceProvider.pathContext;
+              var absoluteUri = pathContext.join(sdkRoot, unit.path);
+              return MockSdkLibraryUnit(
+                unit.uriStr,
+                resourceProvider.convertPath(absoluteUri),
+                unit.content,
+              );
+            },
+          ).toList(),
+        ),
+      );
     }
-    resourceProvider.newFile(
+
+    for (MockSdkLibrary library in sdkLibraries) {
+      for (var unit in library.units) {
+        resourceProvider.newFile(unit.path, unit.content);
+        uriMap[unit.uriStr] = unit.path;
+      }
+    }
+
+    {
+      var buffer = StringBuffer();
+      buffer.writeln('const Map<String, LibraryInfo> libraries = const {');
+      for (var e in _librariesDartEntries.entries) {
+        buffer.writeln('"${e.key}": ${e.value},');
+      }
+      buffer.writeln('};');
+      resourceProvider.newFile(
         resourceProvider.convertPath(
-            '$sdkRoot/lib/_internal/sdk_library_metadata/lib/libraries.dart'),
-        librariesContent);
+          '$sdkRoot/lib/_internal/sdk_library_metadata/lib/libraries.dart',
+        ),
+        buffer.toString(),
+      );
+    }
+
     if (generateSummaryFiles) {
       List<int> bytes = _computeLinkedBundleBytes();
       resourceProvider.newFileWithBytes(
@@ -641,14 +727,10 @@
   }
 }
 
-class _MockSdkLibrary implements SdkLibrary {
-  final String shortName;
-  final String path;
-  final String content;
-  final Map<String, String> parts;
+class MockSdkLibrary implements SdkLibrary {
+  final List<MockSdkLibraryUnit> units;
 
-  const _MockSdkLibrary(this.shortName, this.path, this.content,
-      [this.parts = const <String, String>{}]);
+  MockSdkLibrary(this.units);
 
   @override
   String get category => throw new UnimplementedError();
@@ -671,15 +753,31 @@
   @override
   bool get isVmLibrary => throw new UnimplementedError();
 
-  _MockSdkLibrary _toProvider(MemoryResourceProvider provider) {
-    return new _MockSdkLibrary(
-      shortName,
+  @override
+  String get path => units[0].path;
+
+  @override
+  String get shortName => units[0].uriStr;
+
+  MockSdkLibrary _toProvider(MemoryResourceProvider provider) {
+    return MockSdkLibrary(
+      units.map((unit) => unit._toProvider(provider)).toList(),
+    );
+  }
+}
+
+class MockSdkLibraryUnit {
+  final String uriStr;
+  final String path;
+  final String content;
+
+  MockSdkLibraryUnit(this.uriStr, this.path, this.content);
+
+  MockSdkLibraryUnit _toProvider(MemoryResourceProvider provider) {
+    return MockSdkLibraryUnit(
+      uriStr,
       provider.convertPath(path),
       content,
-      parts.map((path, content) {
-        var convertedPath = provider.convertPath(path);
-        return new MapEntry(convertedPath, content);
-      }),
     );
   }
 }
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index c5ed643..72a8e45 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -1,5 +1,5 @@
 name: analyzer
-version: 0.38.0
+version: 0.38.2-dev
 author: Dart Team <misc@dartlang.org>
 description: This package provides a library that performs static analysis of Dart code.
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/analyzer
@@ -13,10 +13,10 @@
   collection: ^1.10.1
   convert: ^2.0.0
   crypto: '>=1.1.1 <3.0.0'
-  front_end: 0.1.22
+  front_end: 0.1.23
   glob: ^1.0.3
   html: '>=0.13.4+1 <0.15.0'
-  kernel: 0.3.22
+  kernel: 0.3.23
   meta: ^1.0.2
   package_config: '>=0.1.5 <2.0.0'
   path: '>=0.9.0 <2.0.0'
diff --git a/pkg/analyzer/test/generated/compile_time_error_code.dart b/pkg/analyzer/test/generated/compile_time_error_code.dart
index 899e2e5..4e24a14 100644
--- a/pkg/analyzer/test/generated/compile_time_error_code.dart
+++ b/pkg/analyzer/test/generated/compile_time_error_code.dart
@@ -3735,7 +3735,7 @@
   const A();
 }
 ''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS, 48, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 48, 2),
     ]);
   }
 
@@ -3748,7 +3748,7 @@
   const B() : super();
 }
 ''', [
-      error(CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS, 69, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 69, 2),
     ]);
   }
 
@@ -4739,7 +4739,7 @@
       error(CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, 9, 17),
       error(CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, 37, 15),
       error(StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE, 50, 1),
-      error(CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS, 75, 2),
+      error(CompileTimeErrorCode.NOT_ENOUGH_POSITIONAL_ARGUMENTS, 75, 2),
       error(CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS, 100, 10),
       error(CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER, 139, 3),
     ]);
diff --git a/pkg/analyzer/test/generated/invalid_code_test.dart b/pkg/analyzer/test/generated/invalid_code_test.dart
index 33617ea..9e7c84f 100644
--- a/pkg/analyzer/test/generated/invalid_code_test.dart
+++ b/pkg/analyzer/test/generated/invalid_code_test.dart
@@ -50,8 +50,13 @@
 
   test_fuzz_01() async {
     await _assertCanBeAnalyzed(r'''
-typedef K=Function(<>($
+typedef F = void Function(bool, int a(double b));
 ''');
+    var function = findElement.genericTypeAlias('F').function;
+    assertElementTypeString(
+      function.type,
+      'void Function(bool, int Function(double))',
+    );
   }
 
   test_fuzz_02() async {
@@ -72,6 +77,16 @@
 ''');
   }
 
+  test_fuzz_05() async {
+    // Here 'v' is used as both the local variable name, and its type.
+    // This triggers "reference before declaration" diagnostics.
+    // It attempts to ask the enclosing unit element for "v".
+    // Every (not library or unit) element must have the enclosing unit.
+    await _assertCanBeAnalyzed('''
+f({a = [for (v v in [])]}) {}
+''');
+  }
+
   test_fuzz_06() async {
     await _assertCanBeAnalyzed(r'''
 class C {
@@ -81,6 +96,25 @@
 ''');
   }
 
+  test_fuzz_07() async {
+    // typedef v(<T extends T>(e
+    await _assertCanBeAnalyzed(r'''
+typedef F(a<TT extends TT>(e));
+''');
+  }
+
+  test_fuzz_08() async {
+//    class{const v
+//    v=((){try catch
+    // When we resolve initializers of typed constant variables,
+    // we should build locale elements.
+    await _assertCanBeAnalyzed(r'''
+class C {
+  const Object v = () { var a = 0; };
+}
+''');
+  }
+
   test_genericFunction_asTypeArgument_ofUnresolvedClass() async {
     await _assertCanBeAnalyzed(r'''
 C<int Function()> c;
diff --git a/pkg/analyzer/test/generated/parser_fasta_test.dart b/pkg/analyzer/test/generated/parser_fasta_test.dart
index 3718020..e8674b8 100644
--- a/pkg/analyzer/test/generated/parser_fasta_test.dart
+++ b/pkg/analyzer/test/generated/parser_fasta_test.dart
@@ -1229,6 +1229,15 @@
     }
   }
 
+  void test_invalidExpression_37706() {
+    // https://github.com/dart-lang/sdk/issues/37706
+    parseExpression('<b?c>()', errors: [
+      expectedError(ParserErrorCode.EXPECTED_TOKEN, 1, 1),
+      expectedError(ParserErrorCode.UNEXPECTED_TOKEN, 7, 0),
+      expectedError(ParserErrorCode.MISSING_FUNCTION_BODY, 7, 0),
+    ]);
+  }
+
   void test_listLiteral_invalid_assert() {
     // https://github.com/dart-lang/sdk/issues/37674
     parseExpression('n=<.["\$assert', errors: [
@@ -1421,6 +1430,13 @@
     expect(map.elements, hasLength(0));
   }
 
+  void test_parseConstructorInitializer_functionExpression() {
+    // https://github.com/dart-lang/sdk/issues/37414
+    parseCompilationUnit('class C { C.n() : this()(); }', errors: [
+      expectedError(ParserErrorCode.INVALID_INITIALIZER, 18, 8),
+    ]);
+  }
+
   void test_parseStringLiteral_interpolated_void() {
     Expression expression = parseStringLiteral(r"'<html>$void</html>'");
     expect(expression, isNotNull);
@@ -3168,16 +3184,7 @@
 
   void test_invalidTypeParameters_super() {
     parseCompilationUnit('class C<X super Y> {}', errors: [
-      // TODO(danrubel): Improve recovery.
       expectedError(ParserErrorCode.EXPECTED_TOKEN, 8, 1),
-      expectedError(ParserErrorCode.MISSING_CLASS_BODY, 10, 5),
-      expectedError(ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE, 10, 5),
-      expectedError(ParserErrorCode.MISSING_IDENTIFIER, 10, 5),
-      expectedError(ParserErrorCode.EXPECTED_TOKEN, 10, 5),
-      expectedError(ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE, 16, 1),
-      expectedError(ParserErrorCode.EXPECTED_TOKEN, 16, 1),
-      expectedError(ParserErrorCode.EXPECTED_EXECUTABLE, 17, 1),
-      expectedError(ParserErrorCode.EXPECTED_EXECUTABLE, 19, 1),
     ]);
   }
 
diff --git a/pkg/analyzer/test/generated/static_type_analyzer_test.dart b/pkg/analyzer/test/generated/static_type_analyzer_test.dart
index cbde330..aad0e06 100644
--- a/pkg/analyzer/test/generated/static_type_analyzer_test.dart
+++ b/pkg/analyzer/test/generated/static_type_analyzer_test.dart
@@ -38,7 +38,6 @@
     defineReflectiveTests(StaticTypeAnalyzer2Test);
     defineReflectiveTests(StaticTypeAnalyzer3Test);
     defineReflectiveTests(StaticTypeAnalyzerWithSetLiteralsTest);
-    defineReflectiveTests(StaticTypeAnalyzerWithStrictInferenceTest);
   });
 }
 
@@ -1681,80 +1680,3 @@
     expectExpressionType('{{}}', 'Set<Set<int>>');
   }
 }
-
-/**
- * Tests of the static type analyzer with "strict-inference" enabled.
- */
-@reflectiveTest
-class StaticTypeAnalyzerWithStrictInferenceTest
-    extends StaticTypeAnalyzer2TestShared {
-  @override
-  void setUp() {
-    super.setUp();
-    AnalysisOptionsImpl options = new AnalysisOptionsImpl();
-    options.strictInference = true;
-    resetWith(options: options);
-  }
-
-  test_localVariable() async {
-    String code = r'''
-f() {
-  var a;
-}
-''';
-    await resolveTestUnit(code, noErrors: false);
-    await assertErrorsInCode(
-        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
-  }
-
-  test_localVariable_withInitializer() async {
-    String code = r'''
-f() {
-  var a = 7;
-}
-''';
-    await resolveTestUnit(code, noErrors: false);
-    await assertNoErrorsInCode(code);
-  }
-
-  test_localVariable_withType() async {
-    String code = r'''
-f() {
-  int a;
-  dynamic b;
-  Object c;
-  Null d;
-}
-''';
-    await resolveTestUnit(code, noErrors: false);
-    await assertNoErrorsInCode(code);
-  }
-
-  test_topLevelVariable() async {
-    String code = r'''
-var a;
-''';
-    await resolveTestUnit(code, noErrors: false);
-    await assertErrorsInCode(
-        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
-  }
-
-  test_topLevelVariable_withInitializer() async {
-    String code = r'''
-var a = 7;
-''';
-    await resolveTestUnit(code, noErrors: false);
-    await assertNoErrorsInCode(code);
-  }
-
-  test_topLevelVariable_withType() async {
-    String code = r'''
-int a;
-dynamic b;
-Object c;
-Null d;
-''';
-    await resolveTestUnit(code, noErrors: false);
-    await assertNoErrorsInCode(code);
-  }
-}
diff --git a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
index 0eb6a6e..af25455 100644
--- a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
@@ -62,6 +62,7 @@
         byteStore,
         contentOverlay,
         resourceProvider,
+        'contextName',
         sourceFactory,
         analysisOptions,
         new Uint32List(0),
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index fb4a4ef..8b8b2a0 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -1320,7 +1320,8 @@
     ClassElement a = _findElement('A');
 
     // Search by 'type'.
-    List<SubtypeResult> subtypes = await driver.search.subtypes(type: a);
+    List<SubtypeResult> subtypes =
+        await driver.search.subtypes(SearchedFiles(), type: a);
     expect(subtypes, hasLength(3));
 
     SubtypeResult b = subtypes.singleWhere((r) => r.name == 'B');
@@ -1341,7 +1342,8 @@
 
     // Search by 'id'.
     {
-      List<SubtypeResult> subtypes = await driver.search.subtypes(subtype: b);
+      List<SubtypeResult> subtypes =
+          await driver.search.subtypes(SearchedFiles(), subtype: b);
       expect(subtypes, hasLength(1));
       SubtypeResult e = subtypes.singleWhere((r) => r.name == 'E');
       expect(e.members, ['methodE']);
@@ -1390,7 +1392,8 @@
     ClassElement aClass = aLibrary.getType('A');
 
     // Search by 'type'.
-    List<SubtypeResult> subtypes = await driver.search.subtypes(type: aClass);
+    List<SubtypeResult> subtypes =
+        await driver.search.subtypes(SearchedFiles(), type: aClass);
     expect(subtypes, hasLength(3));
 
     SubtypeResult t1 = subtypes.singleWhere((r) => r.name == 'T1');
@@ -1465,7 +1468,8 @@
     driver.addFile(pathC);
     await scheduler.waitForIdle();
 
-    List<SubtypeResult> subtypes = await driver.search.subtypes(type: a);
+    List<SubtypeResult> subtypes =
+        await driver.search.subtypes(SearchedFiles(), type: a);
     expect(subtypes, hasLength(2));
 
     SubtypeResult b = subtypes.singleWhere((r) => r.name == 'B');
@@ -1494,7 +1498,7 @@
     ClassElement b = _findElement('B');
 
     {
-      var subtypes = await driver.search.subtypes(type: a);
+      var subtypes = await driver.search.subtypes(SearchedFiles(), type: a);
       expect(subtypes, hasLength(1));
 
       var m = subtypes.singleWhere((r) => r.name == 'M');
@@ -1504,7 +1508,7 @@
     }
 
     {
-      var subtypes = await driver.search.subtypes(type: b);
+      var subtypes = await driver.search.subtypes(SearchedFiles(), type: b);
       expect(subtypes, hasLength(1));
 
       var m = subtypes.singleWhere((r) => r.name == 'M');
@@ -1523,7 +1527,8 @@
 ''');
     ClassElement a = _findElement('A');
 
-    List<SubtypeResult> subtypes = await driver.search.subtypes(type: a);
+    List<SubtypeResult> subtypes =
+        await driver.search.subtypes(SearchedFiles(), type: a);
     expect(subtypes, hasLength(1));
 
     SubtypeResult b = subtypes.singleWhere((r) => r.name == 'B');
diff --git a/pkg/analyzer/test/src/dart/resolution/driver_resolution.dart b/pkg/analyzer/test/src/dart/resolution/driver_resolution.dart
index 39405f2..0a172b5 100644
--- a/pkg/analyzer/test/src/dart/resolution/driver_resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/driver_resolution.dart
@@ -31,6 +31,8 @@
   AnalysisDriverScheduler scheduler;
   AnalysisDriver driver;
 
+  List<MockSdkLibrary> get additionalMockSdkLibraries => [];
+
   /// Override this to change the analysis options for a given set of tests.
   AnalysisOptionsImpl get analysisOptions => AnalysisOptionsImpl();
 
@@ -40,7 +42,10 @@
   }
 
   void setUp() {
-    sdk = new MockSdk(resourceProvider: resourceProvider);
+    sdk = new MockSdk(
+      resourceProvider: resourceProvider,
+      additionalLibraries: additionalMockSdkLibraries,
+    );
     logger = new PerformanceLog(logBuffer);
     scheduler = new AnalysisDriverScheduler(logger);
 
diff --git a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
index 40f8562..a51e157 100644
--- a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
@@ -6,6 +6,7 @@
 import 'package:analyzer/src/dart/analysis/driver.dart';
 import 'package:analyzer/src/error/codes.dart';
 import 'package:analyzer/src/generated/engine.dart';
+import 'package:analyzer/src/test_utilities/mock_sdk.dart';
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
@@ -30,7 +31,33 @@
 /// resolved correctly.
 @reflectiveTest
 class ExtensionMethodsDeclarationTest extends BaseExtensionMethodsTest {
-  @failingTest
+  List<MockSdkLibrary> get additionalMockSdkLibraries => [
+        MockSdkLibrary([
+          MockSdkLibraryUnit('dart:test1', 'test1/test1.dart', r'''
+extension E on Object {
+  int get a => 1;
+}
+
+class A {}
+'''),
+          MockSdkLibraryUnit('dart:test2', 'test2/test2.dart', r'''
+extension E on Object {
+  int get a => 1;
+}
+'''),
+        ])
+      ];
+
+  test_fromPlatform() async {
+    await assertNoErrorsInCode('''
+import 'dart:test2';
+
+f(Object o) {
+  o.a;
+}
+''');
+  }
+
   test_metadata() async {
     await assertNoErrorsInCode('''
 const int ann = 1;
@@ -39,7 +66,7 @@
 extension E on C {}
 ''');
     var annotation = findNode.annotation('@ann');
-    assertElement(annotation, findElement.topVar('ann'));
+    assertElement(annotation, findElement.topVar('ann').getter);
   }
 
   test_multipleExtensions_noConflict() async {
@@ -189,6 +216,145 @@
       error(StaticTypeWarningCode.UNDEFINED_GETTER, 40, 1),
     ]);
   }
+
+  test_visibility_shadowed_byClass() async {
+    newFile('/test/lib/lib.dart', content: '''
+class C {}
+extension E on C {
+  int get a => 1;
+}
+''');
+    await assertNoErrorsInCode('''
+import 'lib.dart';
+
+class E {}
+f(C c) {
+  c.a;
+}
+''');
+    var access = findNode.prefixed('c.a');
+    var import = findElement.importFind('package:test/lib.dart');
+    assertElement(access, import.extension_('E').getGetter('a'));
+    assertType(access, 'int');
+  }
+
+  test_visibility_shadowed_byImport() async {
+    newFile('/test/lib/lib1.dart', content: '''
+extension E on Object {
+  int get a => 1;
+}
+''');
+    newFile('/test/lib/lib2.dart', content: '''
+class E {}
+class A {}
+''');
+    await assertNoErrorsInCode('''
+import 'lib1.dart';
+import 'lib2.dart';
+
+f(Object o, A a) {
+  o.a;
+}
+''');
+    var access = findNode.prefixed('o.a');
+    var import = findElement.importFind('package:test/lib1.dart');
+    assertElement(access, import.extension_('E').getGetter('a'));
+    assertType(access, 'int');
+  }
+
+  test_visibility_shadowed_byLocal_imported() async {
+    newFile('/test/lib/lib.dart', content: '''
+class C {}
+extension E on C {
+  int get a => 1;
+}
+''');
+    await assertNoErrorsInCode('''
+import 'lib.dart';
+
+f(C c) {
+  double E = 2.71;
+  c.a;
+}
+''');
+    var access = findNode.prefixed('c.a');
+    var import = findElement.importFind('package:test/lib.dart');
+    assertElement(access, import.extension_('E').getGetter('a'));
+    assertType(access, 'int');
+  }
+
+  test_visibility_shadowed_byLocal_local() async {
+    await assertNoErrorsInCode('''
+class C {}
+extension E on C {
+  int get a => 1;
+}
+f(C c) {
+  double E = 2.71;
+  c.a;
+}
+''');
+    var access = findNode.prefixed('c.a');
+    assertElement(access, findElement.getter('a'));
+    assertType(access, 'int');
+  }
+
+  test_visibility_shadowed_byTopLevelVariable() async {
+    newFile('/test/lib/lib.dart', content: '''
+class C {}
+extension E on C {
+  int get a => 1;
+}
+''');
+    await assertNoErrorsInCode('''
+import 'lib.dart';
+
+double E = 2.71;
+f(C c) {
+  c.a;
+}
+''');
+    var access = findNode.prefixed('c.a');
+    var import = findElement.importFind('package:test/lib.dart');
+    assertElement(access, import.extension_('E').getGetter('a'));
+    assertType(access, 'int');
+  }
+
+  test_visibility_shadowed_platformByNonPlatform() async {
+    newFile('/test/lib/lib.dart', content: '''
+extension E on Object {
+  int get a => 1;
+}
+class B {}
+''');
+    await assertNoErrorsInCode('''
+import 'dart:test1';
+import 'lib.dart';
+
+f(Object o, A a, B b) {
+  o.a;
+}
+''');
+  }
+
+  @failingTest
+  test_visibility_withPrefix() async {
+    newFile('/test/lib/lib.dart', content: '''
+class C {}
+extension E on C {
+  int get a => 1;
+}
+''');
+    await assertErrorsInCode('''
+import 'lib.dart' as p;
+
+f(p.C c) {
+  c.a;
+}
+''', [
+      error(StaticTypeWarningCode.UNDEFINED_GETTER, 40, 1),
+    ]);
+  }
 }
 
 /// Tests that extension members can be correctly resolved when referenced
@@ -568,42 +734,6 @@
     assertInvokeType(invocation, 'void Function()');
   }
 
-  test_instance_method_moreSpecificThanPlatform() async {
-    //
-    // An extension with on type clause T1 is more specific than another
-    // extension with on type clause T2 iff
-    //
-    // 1. The latter extension is declared in a platform library, and the former
-    //    extension is not
-    //
-    newFile('/test/lib/core.dart', content: '''
-library dart.core;
-
-class Core {}
-''');
-
-    await assertNoErrorsInCode('''
-import 'core.dart' as platform;
-
-class Core2 extends platform.Core {}
-
-extension Core_Ext on platform.Core {
-  void a() {}
-}
-
-extension Core2_Ext on Core2 {
-  void a() {}
-}
-
-f(Core2 c) {
-  c.a();
-}
-''');
-    var invocation = findNode.methodInvocation('c.a()');
-    assertElement(invocation, findElement.method('a', of: 'Core2_Ext'));
-    assertInvokeType(invocation, 'void Function()');
-  }
-
   test_instance_method_specificSubtypeMatchLocal() async {
     await assertNoErrorsInCode('''
 class A {}
@@ -655,34 +785,6 @@
     assertInvokeType(invocation, 'void Function(C)');
   }
 
-  test_instance_method_specificSubtypeMatchPlatform() async {
-    newFile('/test/lib/core.dart', content: '''
-library dart.core;
-
-class Core {}
-
-class Core2 extends Core {}
-''');
-    await assertNoErrorsInCode('''
-import 'core.dart';
-
-extension Core_Ext on Core {
-  void a() {}
-}
-
-extension Core2_Ext on Core2 {
-  void a() => 0;
-}
-
-f(Core2 c) {
-  c.a();
-}
-''');
-    var invocation = findNode.methodInvocation('c.a()');
-    assertElement(invocation, findElement.method('a', of: 'Core2_Ext'));
-    assertInvokeType(invocation, 'void Function()');
-  }
-
   test_instance_operator_binary_fromExtendedType() async {
     await assertNoErrorsInCode('''
 class C {
@@ -726,6 +828,17 @@
     assertElement(binary, findElement.method('+', of: 'E'));
   }
 
+  test_instance_operator_binary_undefinedTarget() async {
+    // Ensure that there is no exception thrown while resolving the code.
+    await assertErrorsInCode('''
+extension on Object {}
+var a = b + c;
+''', [
+      error(StaticWarningCode.UNDEFINED_IDENTIFIER, 31, 1),
+      error(StaticWarningCode.UNDEFINED_IDENTIFIER, 35, 1),
+    ]);
+  }
+
   test_instance_operator_index_fromExtendedType() async {
     await assertNoErrorsInCode('''
 class C {
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart
new file mode 100644
index 0000000..6a46b65
--- /dev/null
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_extension_member_access_test.dart
@@ -0,0 +1,157 @@
+// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+import 'package:analyzer/dart/analysis/features.dart';
+import 'package:analyzer/src/error/codes.dart';
+import 'package:analyzer/src/generated/engine.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import '../dart/resolution/driver_resolution.dart';
+
+main() {
+  defineReflectiveSuite(() {
+    defineReflectiveTests(AmbiguousExtensionMemberAccessTest);
+  });
+}
+
+@reflectiveTest
+class AmbiguousExtensionMemberAccessTest extends DriverResolutionTest {
+  @override
+  AnalysisOptionsImpl get analysisOptions => AnalysisOptionsImpl()
+    ..contextFeatures = new FeatureSet.forTesting(
+        sdkVersion: '2.3.0', additionalFeatures: [Feature.extension_methods]);
+
+  test_call() async {
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  int call() => 0;
+}
+
+extension E2 on A {
+  int call() => 0;
+}
+
+int f(A a) => a();
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 110, 1),
+    ]);
+  }
+
+  test_getter() async {
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  void get a => 1;
+}
+
+extension E2 on A {
+  void get a => 2;
+}
+
+f(A a) {
+  a.a;
+}
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 109, 1),
+    ]);
+  }
+
+  test_method() async {
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  void a() {}
+}
+
+extension E2 on A {
+  void a() {}
+}
+
+f(A a) {
+  a.a();
+}
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 99, 1),
+    ]);
+  }
+
+  test_operator_binary() async {
+    // There is no error reported.
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  A operator +(A a) => a;
+}
+
+extension E2 on A {
+  A operator +(A a) => a;
+}
+
+A f(A a) => a + a;
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 122, 5),
+    ]);
+  }
+
+  test_operator_index() async {
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  int operator [](int i) => 0;
+}
+
+extension E2 on A {
+  int operator [](int i) => 0;
+}
+
+int f(A a) => a[0];
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 134, 1),
+    ]);
+  }
+
+  test_operator_unary() async {
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  int operator -() => 0;
+}
+
+extension E2 on A {
+  int operator -() => 0;
+}
+
+int f(A a) => -a;
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 123, 1),
+    ]);
+  }
+
+  test_setter() async {
+    await assertErrorsInCode('''
+class A {}
+
+extension E1 on A {
+  set a(x) {}
+}
+
+extension E2 on A {
+  set a(x) {}
+}
+
+f(A a) {
+  a.a = 3;
+}
+''', [
+      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_MEMBER_ACCESS, 99, 1),
+    ]);
+  }
+}
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_extension_method_access_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_extension_method_access_test.dart
deleted file mode 100644
index 21ffe97..0000000
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_extension_method_access_test.dart
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
-// 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.
-
-import 'package:analyzer/dart/analysis/features.dart';
-import 'package:analyzer/src/error/codes.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import '../dart/resolution/driver_resolution.dart';
-
-main() {
-  defineReflectiveSuite(() {
-    defineReflectiveTests(AmbiguousExtensionMethodAccessTest);
-  });
-}
-
-@reflectiveTest
-class AmbiguousExtensionMethodAccessTest extends DriverResolutionTest {
-  @override
-  AnalysisOptionsImpl get analysisOptions => AnalysisOptionsImpl()
-    ..contextFeatures = new FeatureSet.forTesting(
-        sdkVersion: '2.3.0', additionalFeatures: [Feature.extension_methods]);
-
-  test_call() async {
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  int call() => 0;
-}
-
-extension E2 on A {
-  int call() => 0;
-}
-
-int f(A a) => a();
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 110, 1),
-    ]);
-  }
-
-  test_getter() async {
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  void get a => 1;
-}
-
-extension E2 on A {
-  void get a => 2;
-}
-
-f(A a) {
-  a.a;
-}
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 109, 1),
-    ]);
-  }
-
-  test_method() async {
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  void a() {}
-}
-
-extension E2 on A {
-  void a() {}
-}
-
-f(A a) {
-  a.a();
-}
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 99, 1),
-    ]);
-  }
-
-  test_operator_binary() async {
-    // There is no error reported.
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  A operator +(A a) => a;
-}
-
-extension E2 on A {
-  A operator +(A a) => a;
-}
-
-A f(A a) => a + a;
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 122, 5),
-    ]);
-  }
-
-  test_operator_index() async {
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  int operator [](int i) => 0;
-}
-
-extension E2 on A {
-  int operator [](int i) => 0;
-}
-
-int f(A a) => a[0];
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 134, 1),
-    ]);
-  }
-
-  test_operator_unary() async {
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  int operator -() => 0;
-}
-
-extension E2 on A {
-  int operator -() => 0;
-}
-
-int f(A a) => -a;
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 123, 1),
-    ]);
-  }
-
-  test_setter() async {
-    await assertErrorsInCode('''
-class A {}
-
-extension E1 on A {
-  set a(x) {}
-}
-
-extension E2 on A {
-  set a(x) {}
-}
-
-f(A a) {
-  a.a = 3;
-}
-''', [
-      error(CompileTimeErrorCode.AMBIGUOUS_EXTENSION_METHOD_ACCESS, 99, 1),
-    ]);
-  }
-}
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart
new file mode 100644
index 0000000..74d1bf6
--- /dev/null
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_uninitialized_variable_test.dart
@@ -0,0 +1,155 @@
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+import 'package:analyzer/src/error/codes.dart';
+import 'package:analyzer/src/generated/engine.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import '../../generated/resolver_test_case.dart';
+
+main() {
+  defineReflectiveSuite(() {
+    defineReflectiveTests(InferenceFailureOnUninitializedVariableTest);
+  });
+}
+
+/// Tests of HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE with the
+/// "strict-inference" static analysis option.
+@reflectiveTest
+class InferenceFailureOnUninitializedVariableTest
+    extends StaticTypeAnalyzer2TestShared {
+  @override
+  void setUp() {
+    super.setUp();
+    AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+    options.strictInference = true;
+    resetWith(options: options);
+  }
+
+  test_localVariable() async {
+    String code = r'''
+f() {
+  var a;
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
+  }
+
+  test_localVariable_withInitializer() async {
+    String code = r'''
+f() {
+  var a = 7;
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_localVariable_withType() async {
+    String code = r'''
+f() {
+  int a;
+  dynamic b;
+  Object c;
+  Null d;
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_topLevelVariable() async {
+    String code = r'''
+var a;
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
+  }
+
+  test_topLevelVariable_withInitializer() async {
+    String code = r'''
+var a = 7;
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_topLevelVariable_withType() async {
+    String code = r'''
+int a;
+dynamic b;
+Object c;
+Null d;
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_field() async {
+    String code = r'''
+class C {
+  var a;
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
+  }
+
+  test_finalField() async {
+    String code = r'''
+class C {
+  final a;
+  C(this.a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
+  }
+
+  test_staticField() async {
+    String code = r'''
+class C {
+  static var a;
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNINITIALIZED_VARIABLE]);
+  }
+
+  test_field_withInitializer() async {
+    String code = r'''
+class C {
+  static var c = 3;
+  static final d = 5;
+
+  var a = 7;
+  final b = 9;
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_field_withType() async {
+    String code = r'''
+class C {
+  static int c;
+  static final int d = 5;
+
+  int a;
+  final int b;
+
+  C(this.b);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+}
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart
new file mode 100644
index 0000000..2199133
--- /dev/null
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_untyped_parameter_test.dart
@@ -0,0 +1,258 @@
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
+// 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.
+
+import 'package:analyzer/src/error/codes.dart';
+import 'package:analyzer/src/generated/engine.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import '../../generated/resolver_test_case.dart';
+
+main() {
+  defineReflectiveSuite(() {
+    defineReflectiveTests(InferenceFailureOnUntypedParameterTest);
+  });
+}
+
+/// Tests of HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER with the
+/// "strict-inference" static analysis option.
+@reflectiveTest
+class InferenceFailureOnUntypedParameterTest
+    extends StaticTypeAnalyzer2TestShared {
+  @override
+  void setUp() {
+    super.setUp();
+    AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+    options.strictInference = true;
+    resetWith(options: options);
+  }
+
+  test_parameter() async {
+    String code = r'''
+void fn(a) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_withVar() async {
+    String code = r'''
+void fn(var a) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_withType() async {
+    String code = r'''
+void fn(int a) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inGenericFunction_withType() async {
+    String code = r'''
+void fn<T>(T a) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_withVarAndDefault() async {
+    String code = r'''
+void fn([var a = 7]) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_withTypeAndDefault() async {
+    String code = r'''
+void fn([int a = 7]) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_namedParameter_withVar() async {
+    String code = r'''
+void fn({var a}) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_namedParameter_withType() async {
+    String code = r'''
+void fn({int a}) => print(a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inMethod() async {
+    String code = r'''
+class C {
+  void fn(var a) => print(a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_inMethod_withType() async {
+    String code = r'''
+class C {
+  void fn(String a) => print(a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inOverridingMethod() async {
+    String code = r'''
+class C {
+  void fn(int a) => print(a);
+}
+
+class D extends C {
+  @override
+  void fn(var a) => print(a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_inOverridingMethod_withType() async {
+    String code = r'''
+class C {
+  void fn(int a) => print(a);
+}
+
+class D extends C {
+  @override
+  void fn(num a) => print(a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inOverridingMethod_withDefault() async {
+    String code = r'''
+class C {
+  void fn([int a = 7]) => print(a);
+}
+
+class D extends C {
+  @override
+  void fn([var a = 7]) => print(a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_inOverridingMethod_withDefaultAndType() async {
+    String code = r'''
+class C {
+  void fn([int a = 7]) => print(a);
+}
+
+class D extends C {
+  @override
+  void fn([num a = 7]) => print(a);
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inConstructor() async {
+    String code = r'''
+class C {
+  C(var a) {}
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_inConstructor_withType() async {
+    String code = r'''
+class C {
+  C(int a) {}
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_fieldParameter() async {
+    String code = r'''
+class C {
+  int a;
+  C(this.a) {}
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inFunctionLiteral() async {
+    String code = r'''
+fn() {
+  var f = (var a) {};
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_parameter_inFunctionLiteral_withType() async {
+    String code = r'''
+fn() {
+  var f = (int a) {};
+}
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_functionTypeParameter_withVar() async {
+    String code = r'''
+void fn(String cb(var x)) => print(cb(7));
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertErrorsInCode(
+        code, [HintCode.INFERENCE_FAILURE_ON_UNTYPED_PARAMETER]);
+  }
+
+  test_functionTypeParameter_withType() async {
+    String code = r'''
+void fn(String cb(int x)) => print(cb(7));
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+
+  test_parameter_inTypedef_withType() async {
+    String code = r'''
+typedef cb = void Function(int a);
+''';
+    await resolveTestUnit(code, noErrors: false);
+    await assertNoErrorsInCode(code);
+  }
+}
diff --git a/pkg/analyzer/test/src/diagnostics/test_all.dart b/pkg/analyzer/test/src/diagnostics/test_all.dart
index 0d182ed..749012b 100644
--- a/pkg/analyzer/test/src/diagnostics/test_all.dart
+++ b/pkg/analyzer/test/src/diagnostics/test_all.dart
@@ -5,8 +5,8 @@
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
 import 'ambiguous_export_test.dart' as ambiguous_export;
-import 'ambiguous_extension_method_access_test.dart'
-    as ambiguous_extension_method_access;
+import 'ambiguous_extension_member_access_test.dart'
+    as ambiguous_extension_member_access;
 import 'ambiguous_import_test.dart' as ambiguous_import;
 import 'ambiguous_set_or_map_literal_test.dart' as ambiguous_set_or_map_literal;
 import 'argument_type_not_assignable_test.dart' as argument_type_not_assignable;
@@ -99,6 +99,10 @@
 import 'import_duplicated_library_named_test.dart'
     as import_duplicated_library_named;
 import 'import_of_non_library_test.dart' as import_of_non_library;
+import 'inference_failure_on_uninitialized_variable_test.dart'
+    as inference_failure_on_uninitialized_variable;
+import 'inference_failure_on_untyped_parameter_test.dart'
+    as inference_failure_on_untyped_parameter;
 import 'instance_access_to_static_member_test.dart'
     as instance_access_to_static_member;
 import 'invalid_assignment_test.dart' as invalid_assignment;
@@ -297,7 +301,7 @@
 main() {
   defineReflectiveSuite(() {
     ambiguous_export.main();
-    ambiguous_extension_method_access.main();
+    ambiguous_extension_member_access.main();
     ambiguous_import.main();
     ambiguous_set_or_map_literal.main();
     argument_type_not_assignable.main();
@@ -361,6 +365,8 @@
     import_deferred_library_with_load_function.main();
     import_duplicated_library_named.main();
     import_of_non_library.main();
+    inference_failure_on_uninitialized_variable.main();
+    inference_failure_on_untyped_parameter.main();
     instance_access_to_static_member.main();
     invalid_assignment.main();
     invalid_cast_new_expr.main();
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart
index 3a99516..dc99786 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_getter_test.dart
@@ -22,7 +22,7 @@
     ..contextFeatures = new FeatureSet.forTesting(
         sdkVersion: '2.3.0', additionalFeatures: [Feature.extension_methods]);
 
-  test_defined() async {
+  test_instance_defined() async {
     await assertNoErrorsInCode('''
 extension E on String {
   int get g => 0;
@@ -33,7 +33,7 @@
 ''');
   }
 
-  test_undefined() async {
+  test_instance_withoutSetter() async {
     await assertErrorsInCode('''
 extension E on String {}
 f() {
@@ -44,7 +44,7 @@
     ]);
   }
 
-  test_undefined_withSetter() async {
+  test_instance_withSetter() async {
     await assertErrorsInCode('''
 extension E on String {
   void set s(int x) {}
@@ -56,4 +56,24 @@
       error(CompileTimeErrorCode.UNDEFINED_EXTENSION_GETTER, 64, 1),
     ]);
   }
+
+  test_static_withInference() async {
+    await assertErrorsInCode('''
+extension E on Object {}
+var a = E.v;
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_EXTENSION_GETTER, 35, 1),
+    ]);
+  }
+
+  test_static_withoutInference() async {
+    await assertErrorsInCode('''
+extension E on Object {}
+void f() {
+  E.v;
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_EXTENSION_GETTER, 40, 1),
+    ]);
+  }
 }
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart
index d2a1f9f1..38ea384 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_method_test.dart
@@ -76,4 +76,24 @@
     assertInvokeTypeNull(binaryExpression);
     assertTypeDynamic(binaryExpression);
   }
+
+  test_static_withInference() async {
+    await assertErrorsInCode('''
+extension E on Object {}
+var a = E.m();
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_EXTENSION_METHOD, 35, 1),
+    ]);
+  }
+
+  test_static_withoutInference() async {
+    await assertErrorsInCode('''
+extension E on Object {}
+void f() {
+  E.m();
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_EXTENSION_METHOD, 40, 1),
+    ]);
+  }
 }
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart
index fab4c5d..9c38d0c 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_extension_setter_test.dart
@@ -22,7 +22,7 @@
     ..contextFeatures = new FeatureSet.forTesting(
         sdkVersion: '2.3.0', additionalFeatures: [Feature.extension_methods]);
 
-  test_defined() async {
+  test_instance_defined() async {
     await assertNoErrorsInCode('''
 extension E on String {
   void set s(int x) {}
@@ -33,7 +33,7 @@
 ''');
   }
 
-  test_undefined() async {
+  test_instance_undefined() async {
     await assertErrorsInCode('''
 extension E on String {}
 f() {
@@ -43,4 +43,15 @@
       error(CompileTimeErrorCode.UNDEFINED_EXTENSION_SETTER, 40, 1),
     ]);
   }
+
+  test_static_undefined() async {
+    await assertErrorsInCode('''
+extension E on Object {}
+void f() {
+  E.s = 3;
+}
+''', [
+      error(CompileTimeErrorCode.UNDEFINED_EXTENSION_SETTER, 40, 1),
+    ]);
+  }
 }
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
index 52fcc72..d56ebb7 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_getter_test.dart
@@ -125,7 +125,16 @@
     ..contextFeatures = new FeatureSet.forTesting(
         sdkVersion: '2.3.0', additionalFeatures: [Feature.extension_methods]);
 
-  test_withExtension() async {
+  test_instance_withInference() async {
+    await assertErrorsInCode(r'''
+extension E on int {}
+var a = 3.v;
+''', [
+      error(StaticTypeWarningCode.UNDEFINED_GETTER, 32, 1),
+    ]);
+  }
+
+  test_instance_withoutInference() async {
     await assertErrorsInCode(r'''
 class C {}
 
diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart b/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
index a37bd09..3f66e12 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_ast_test.dart
@@ -27,12 +27,6 @@
 @reflectiveTest
 class ResynthesizeAstStrongTest extends ResynthesizeTestStrategyTwoPhase
     with ResynthesizeTestCases, GetElementTestCases, ResynthesizeTestHelpers {
-  @override
-  @failingTest
-  test_codeRange_extensions() async {
-    await super.test_codeRange_extensions();
-  }
-
   @failingTest // See dartbug.com/32290
   test_const_constructor_inferred_args() =>
       super.test_const_constructor_inferred_args();
@@ -87,20 +81,7 @@
 
   @override
   @failingTest
-  test_metadata_extensionDeclaration() async {
-    await super.test_metadata_extensionDeclaration();
-  }
-
-  @override
-  @failingTest
   test_syntheticFunctionType_inGenericClass() async {
     await super.test_syntheticFunctionType_inGenericClass();
   }
-
-  @FailingTest(
-      reason: "NoSuchMethodError: Class 'ExtensionElementForLink' has no "
-          "instance method 'getGetter' with matching arguments.")
-  test_variable_initializer_staticMethod_ofExtension() async {
-    await super.test_variable_initializer_staticMethod_ofExtension();
-  }
 }
diff --git a/pkg/analyzer/test/src/task/options_test.dart b/pkg/analyzer/test/src/task/options_test.dart
index d7637d1..764e8b1 100644
--- a/pkg/analyzer/test/src/task/options_test.dart
+++ b/pkg/analyzer/test/src/task/options_test.dart
@@ -231,6 +231,8 @@
         removeCode(StrongModeCode.TOP_LEVEL_INSTANCE_METHOD);
       } else if (errorType == TodoCode) {
         declaredNames.remove('TODO_REGEX');
+      } else if (errorType == CompileTimeErrorCode) {
+        declaredNames.remove('ANNOTATION_WITH_TYPE_ARGUMENTS');
       } else if (errorType == ParserErrorCode) {
         declaredNames.remove('CONST_AFTER_FACTORY');
         declaredNames.remove('CONST_AND_COVARIANT');
diff --git a/pkg/analyzer_cli/lib/src/error_formatter.dart b/pkg/analyzer_cli/lib/src/error_formatter.dart
index 51e1333..aeefa3b 100644
--- a/pkg/analyzer_cli/lib/src/error_formatter.dart
+++ b/pkg/analyzer_cli/lib/src/error_formatter.dart
@@ -248,14 +248,14 @@
         stats.hintCount++;
       }
 
-      // warning • 'foo' is not a bar at lib/foo.dart:1:2 • foo_warning
+      // warning • 'foo' is not a bar. • lib/foo.dart:1:2 • foo_warning
       String issueColor = (error.isError == ErrorSeverity.ERROR ||
               error.isWarning == ErrorSeverity.WARNING)
           ? ansi.red
           : '';
       out.write('  $issueColor${error.severity}${ansi.none} '
           '${ansi.bullet} ${ansi.bold}${error.message}${ansi.none} ');
-      out.write('at ${error.sourcePath}');
+      out.write('${ansi.bullet} ${error.sourcePath}');
       out.write(':${error.line}:${error.column} ');
       out.write('${ansi.bullet} ${error.errorCode}');
       out.writeln();
@@ -298,12 +298,7 @@
       }
     }
 
-    // warning • 'foo' is not a bar at lib/foo.dart:1:2 • foo_warning
-    String message = error.message;
-    // Remove any terminating '.' from the end of the message.
-    if (message.endsWith('.')) {
-      message = message.substring(0, message.length - 1);
-    }
+    // warning • 'foo' is not a bar. • lib/foo.dart:1:2 • foo_warning
     String sourcePath;
     if (source.uriKind == UriKind.DART_URI) {
       sourcePath = source.uri.toString();
@@ -334,7 +329,7 @@
       offset: error.offset,
       line: location.lineNumber,
       column: location.columnNumber,
-      message: message,
+      message: error.message,
       contextMessages: contextMessages,
       errorCode: error.errorCode.name.toLowerCase(),
       correction: error.correction,
diff --git a/pkg/analyzer_cli/test/reporter_test.dart b/pkg/analyzer_cli/test/reporter_test.dart
index e7f359b..a993708 100644
--- a/pkg/analyzer_cli/test/reporter_test.dart
+++ b/pkg/analyzer_cli/test/reporter_test.dart
@@ -45,7 +45,7 @@
       reporter.flush();
 
       expect(out.toString().trim(),
-          'error • MSG at /foo/bar/baz.dart:3:3 • mock_code');
+          'error • MSG • /foo/bar/baz.dart:3:3 • mock_code');
     });
 
     test('hint', () {
@@ -54,7 +54,7 @@
       reporter.flush();
 
       expect(out.toString().trim(),
-          'hint • MSG at /foo/bar/baz.dart:3:3 • mock_code');
+          'hint • MSG • /foo/bar/baz.dart:3:3 • mock_code');
     });
 
     test('stats', () {
@@ -64,7 +64,7 @@
       stats.print(out);
       expect(
           out.toString().trim(),
-          'hint • MSG at /foo/bar/baz.dart:3:3 • mock_code\n'
+          'hint • MSG • /foo/bar/baz.dart:3:3 • mock_code\n'
           '1 hint found.');
     });
   });
diff --git a/pkg/analyzer_plugin/lib/src/utilities/change_builder/dart/syntactic_scope.dart b/pkg/analyzer_plugin/lib/src/utilities/change_builder/dart/syntactic_scope.dart
index c198032..959d1f0 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/change_builder/dart/syntactic_scope.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/change_builder/dart/syntactic_scope.dart
@@ -46,6 +46,16 @@
   }
 
   @override
+  void visitConstructorName(ConstructorName node) {
+    node.type.accept(this);
+  }
+
+  @override
+  void visitPrefixedIdentifier(PrefixedIdentifier node) {
+    node.prefix.accept(this);
+  }
+
+  @override
   void visitSimpleIdentifier(SimpleIdentifier node) {
     var name = node.name;
     referencedNames.add(name);
diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart
index c16d058..51b5c38 100644
--- a/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart
@@ -279,6 +279,36 @@
 
 @reflectiveTest
 class ImportLibraryElement_newImport_withoutPrefix_Test extends _Base {
+  test_constructorName_name() async {
+    newFile('/home/test/lib/a.dart', content: r'''
+int foo;
+''');
+    newFile('/home/test/lib/b.dart', content: r'''
+class B {
+  B.foo();
+}
+''');
+    await _assertImportLibraryElement(
+      initialCode: r'''
+import 'package:test/b.dart';
+
+main() {
+  B.foo();
+}
+''',
+      uriStr: 'package:test/a.dart',
+      name: 'foo',
+      expectedCode: r'''
+import 'package:test/a.dart';
+import 'package:test/b.dart';
+
+main() {
+  B.foo();
+}
+''',
+    );
+  }
+
   test_exported() async {
     newFile('/home/test/lib/a.dart', content: 'class A {}');
     newFile('/home/test/lib/b.dart', content: r'''
@@ -312,6 +342,36 @@
     );
   }
 
+  test_methodInvocation_name() async {
+    newFile('/home/test/lib/a.dart', content: r'''
+int foo;
+''');
+    newFile('/home/test/lib/b.dart', content: r'''
+class B {
+  static void foo() {}
+}
+''');
+    await _assertImportLibraryElement(
+      initialCode: r'''
+import 'package:test/b.dart';
+
+main() {
+  B.foo();
+}
+''',
+      uriStr: 'package:test/a.dart',
+      name: 'foo',
+      expectedCode: r'''
+import 'package:test/a.dart';
+import 'package:test/b.dart';
+
+main() {
+  B.foo();
+}
+''',
+    );
+  }
+
   test_noConflict_otherImport_hide() async {
     newFile('/home/test/lib/a.dart', content: r'''
 class A {}
@@ -404,6 +464,36 @@
     );
   }
 
+  test_prefixedIdentifier_identifier() async {
+    newFile('/home/test/lib/a.dart', content: r'''
+int foo;
+''');
+    newFile('/home/test/lib/b.dart', content: r'''
+class B {
+  static int foo;
+}
+''');
+    await _assertImportLibraryElement(
+      initialCode: r'''
+import 'package:test/b.dart';
+
+main() {
+  B.foo;
+}
+''',
+      uriStr: 'package:test/a.dart',
+      name: 'foo',
+      expectedCode: r'''
+import 'package:test/a.dart';
+import 'package:test/b.dart';
+
+main() {
+  B.foo;
+}
+''',
+    );
+  }
+
   test_thisName_notShadowed_localVariable_otherFunction() async {
     newFile('/home/test/lib/a.dart', content: 'int foo = 0;');
     await _assertImportLibraryElement(
diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/syntactic_scope_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/syntactic_scope_test.dart
index 19d52fc..1a39dee 100644
--- a/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/syntactic_scope_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/syntactic_scope_test.dart
@@ -94,6 +94,38 @@
     );
   }
 
+  test_notSyntacticScopeNames_constructorName_name() async {
+    var path = convertPath('/home/test/lib/test.dart');
+
+    newFile('/home/test/lib/a.dart', content: r'''
+class N1 {
+  N1.N2();
+}
+''');
+
+    newFile(path, content: r'''
+import 'package:test/a.dart';
+
+void f() {
+  N1.N2();
+}
+''');
+
+    var resolvedUnit = await session.getResolvedUnit(path);
+    var collector = NotSyntacticScopeReferencedNamesCollector(
+      resolvedUnit.libraryElement,
+      ['N1', 'N2'].toSet(),
+    );
+    resolvedUnit.unit.accept(collector);
+
+    expect(
+      collector.importedNames,
+      containsPair('N1', Uri.parse('package:test/a.dart')),
+    );
+
+    expect(collector.inheritedNames, isEmpty);
+  }
+
   test_referencedNames() async {
     var path = convertPath('/home/test/lib/test.dart');
     newFile(path, content: r'''
diff --git a/pkg/compiler/lib/src/deferred_load.dart b/pkg/compiler/lib/src/deferred_load.dart
index 8864815..f34388f 100644
--- a/pkg/compiler/lib/src/deferred_load.dart
+++ b/pkg/compiler/lib/src/deferred_load.dart
@@ -1656,6 +1656,11 @@
   }
 
   @override
+  void visitAnyType(AnyType type, Null argument) {
+    // Nothing to add.
+  }
+
+  @override
   void visitTypedefType(TypedefType type, Null argument) {
     visitList(type.typeArguments);
     visit(type.unaliased);
diff --git a/pkg/compiler/lib/src/elements/types.dart b/pkg/compiler/lib/src/elements/types.dart
index d793fe9..062985a 100644
--- a/pkg/compiler/lib/src/elements/types.dart
+++ b/pkg/compiler/lib/src/elements/types.dart
@@ -44,6 +44,9 @@
   /// Is `true` if this type is the dynamic type.
   bool get isDynamic => false;
 
+  /// Is `true` if this type is the any type.
+  bool get isAny => false;
+
   /// Is `true` if this type is the void type.
   bool get isVoid => false;
 
@@ -429,6 +432,35 @@
   }
 }
 
+/// Represents a type which is simultaneously top and bottom.
+///
+/// This is not a standard Dart type, but an extension of the standard Dart type
+/// system for dart2js. Because 'any' is both top and bottom, it is useful for
+/// ensuring that type checks succeed so that we can avoid spurious failures
+/// when our analysis is incorrect or incomplete.
+///
+/// Use cases include:
+/// * Representing inscrutable JS-interop types.
+/// * Representing types appearing as generic method bounds which contain type
+/// variables. (See issue 33422.)
+class AnyType extends DartType {
+  const AnyType();
+
+  @override
+  bool get isAny => true;
+
+  @override
+  R accept<R, A>(DartTypeVisitor<R, A> visitor, A argument) =>
+      visitor.visitAnyType(this, argument);
+
+  @override
+  int get hashCode => 95;
+
+  @override
+  bool _equals(DartType other, _Assumptions assumptions) =>
+      identical(this, other);
+}
+
 class FunctionType extends DartType {
   final DartType returnType;
   final List<DartType> parameterTypes;
@@ -626,6 +658,8 @@
 
   R visitDynamicType(covariant DynamicType type, A argument) => null;
 
+  R visitAnyType(covariant AnyType type, A argument) => null;
+
   R visitFutureOrType(covariant FutureOrType type, A argument) => null;
 }
 
@@ -660,6 +694,10 @@
       visitType(type, argument);
 
   @override
+  R visitAnyType(covariant AnyType type, A argument) =>
+      visitType(type, argument);
+
+  @override
   R visitFutureOrType(covariant FutureOrType type, A argument) =>
       visitType(type, argument);
 }
@@ -849,6 +887,9 @@
   DartType visitDynamicType(covariant DynamicType type, A argument) => type;
 
   @override
+  DartType visitAnyType(covariant AnyType type, A argument) => type;
+
+  @override
   DartType visitFutureOrType(covariant FutureOrType type, A argument) {
     DartType seen = _map[type];
     if (seen != null) return seen;
@@ -917,6 +958,7 @@
   bool handleInterfaceType(InterfaceType type) => false;
   bool handleTypedefType(TypedefType type) => false;
   bool handleDynamicType(DynamicType type) => false;
+  bool handleAnyType(AnyType type) => false;
   bool handleFutureOrType(FutureOrType type) => false;
 
   @override
@@ -978,6 +1020,10 @@
       handleDynamicType(type);
 
   @override
+  bool visitAnyType(AnyType type, List<FunctionTypeVariable> bindings) =>
+      handleAnyType(type);
+
+  @override
   bool visitFutureOrType(
       FutureOrType type, List<FunctionTypeVariable> bindings) {
     if (handleFutureOrType(type)) return true;
@@ -1112,6 +1158,11 @@
   }
 
   @override
+  void visitAnyType(covariant AnyType type, _) {
+    _identifier('any');
+  }
+
+  @override
   void visitTypeVariableType(covariant TypeVariableType type, _) {
     _identifier(type.element.typeDeclaration.name);
     _token('.');
@@ -1477,6 +1528,7 @@
   }
 }
 
+// TODO(fishythefish): Support 'any'.
 abstract class MoreSpecificVisitor<T extends DartType>
     extends AbstractTypeRelation<T> {
   bool isMoreSpecific(T t, T s) {
@@ -1530,6 +1582,7 @@
 }
 
 /// Type visitor that determines the subtype relation two types.
+// TODO(fishythefish): Support 'any'.
 abstract class SubtypeVisitor<T extends DartType>
     extends MoreSpecificVisitor<T> {
   bool isSubtype(DartType t, DartType s) {
@@ -1591,6 +1644,7 @@
 /// Type visitor that determines one type could a subtype of another given the
 /// right type variable substitution. The computation is approximate and returns
 /// `false` only if we are sure no such substitution exists.
+// TODO(fishythefish): Support 'any'.
 abstract class PotentialSubtypeVisitor<T extends DartType>
     extends SubtypeVisitor<T> {
   bool _assumeInstantiations = true;
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types.dart b/pkg/compiler/lib/src/js_backend/runtime_types.dart
index 47a74c6..8284882 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types.dart
@@ -989,6 +989,7 @@
   jsAst.Expression getVoidValue() => js('-1');
 
   jsAst.Expression getJsInteropTypeArgumentValue() => js('-2');
+
   @override
   jsAst.Expression visit(DartType type, ModularEmitter emitter) =>
       type.accept(this, emitter);
@@ -1016,6 +1017,10 @@
     return getDynamicValue();
   }
 
+  @override
+  jsAst.Expression visitAnyType(AnyType type, ModularEmitter emitter) =>
+      getJsInteropTypeArgumentValue();
+
   jsAst.Expression getJsInteropTypeArguments(int count,
       {jsAst.Expression name}) {
     List<jsAst.Expression> elements = <jsAst.Expression>[];
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types_new.dart b/pkg/compiler/lib/src/js_backend/runtime_types_new.dart
index c544c21..9a56acf 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types_new.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types_new.dart
@@ -329,6 +329,11 @@
   }
 
   @override
+  void visitAnyType(AnyType type, _) {
+    _emitExtensionOp(Recipe.pushAnyExtension);
+  }
+
+  @override
   void visitInterfaceType(InterfaceType type, _) {
     jsAst.Name name = _emitter.typeAccessNewRti(type.element);
     if (type.typeArguments.isEmpty) {
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart b/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart
index 3d87fac..75742c5 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart
@@ -644,7 +644,7 @@
       DataSource source, ElementEnvironment elementEnvironment) {
     bool isTrivial = source.readBool();
     if (isTrivial) {
-      return const TrivialRuntimeTypesNeed();
+      return TrivialRuntimeTypesNeed(elementEnvironment);
     }
     return new RuntimeTypesNeedImpl.readFromDataSource(
         source, elementEnvironment);
@@ -715,7 +715,9 @@
 }
 
 class TrivialRuntimeTypesNeed implements RuntimeTypesNeed {
-  const TrivialRuntimeTypesNeed();
+  final ElementEnvironment _elementEnvironment;
+
+  const TrivialRuntimeTypesNeed(this._elementEnvironment);
 
   @override
   void writeToDataSink(DataSink sink) {
@@ -723,7 +725,8 @@
   }
 
   @override
-  bool classNeedsTypeArguments(ClassEntity cls) => true;
+  bool classNeedsTypeArguments(ClassEntity cls) =>
+      _elementEnvironment.isGenericClass(cls);
 
   @override
   bool methodNeedsSignature(FunctionEntity method) => true;
@@ -878,7 +881,7 @@
   @override
   RuntimeTypesNeed computeRuntimeTypesNeed(
       KClosedWorld closedWorld, CompilerOptions options) {
-    return const TrivialRuntimeTypesNeed();
+    return TrivialRuntimeTypesNeed(closedWorld.elementEnvironment);
   }
 }
 
diff --git a/pkg/compiler/lib/src/js_emitter/constant_ordering.dart b/pkg/compiler/lib/src/js_emitter/constant_ordering.dart
index f205845..15eeb44 100644
--- a/pkg/compiler/lib/src/js_emitter/constant_ordering.dart
+++ b/pkg/compiler/lib/src/js_emitter/constant_ordering.dart
@@ -223,6 +223,8 @@
   int visitTypedefType(covariant TypedefType type, _) => 2;
   @override
   int visitDynamicType(covariant DynamicType type, _) => 5;
+  @override
+  int visitAnyType(covariant AnyType type, _) => 7;
 }
 
 class _DartTypeOrdering extends DartTypeVisitor<int, DartType> {
@@ -292,6 +294,11 @@
     throw new UnsupportedError('Unreachable');
   }
 
+  @override
+  int visitAnyType(covariant AnyType type, covariant AnyType other) {
+    throw UnsupportedError('Unreachable');
+  }
+
   int _compareTypeArguments(
       List<DartType> aArguments, List<DartType> bArguments) {
     return _ConstantOrdering.compareLists(compare, aArguments, bArguments);
diff --git a/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart b/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
index a11f5bd..288e35b 100644
--- a/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
@@ -332,6 +332,9 @@
   bool visitDynamicType(DynamicType type, OutputUnit argument) => true;
 
   @override
+  bool visitAnyType(AnyType type, OutputUnit argument) => true;
+
+  @override
   bool visitTypedefType(TypedefType type, OutputUnit argument) {
     return visit(type.unaliased, argument);
   }
diff --git a/pkg/compiler/lib/src/js_model/js_world_builder.dart b/pkg/compiler/lib/src/js_model/js_world_builder.dart
index 152ee8d..5aa8407 100644
--- a/pkg/compiler/lib/src/js_model/js_world_builder.dart
+++ b/pkg/compiler/lib/src/js_model/js_world_builder.dart
@@ -135,7 +135,7 @@
     List<FunctionEntity> callMethods = <FunctionEntity>[];
     ClosureData closureData;
     if (_options.disableRtiOptimization) {
-      rtiNeed = new TrivialRuntimeTypesNeed();
+      rtiNeed = new TrivialRuntimeTypesNeed(_elementMap.elementEnvironment);
       closureData = _closureDataBuilder.createClosureEntities(
           this,
           map.toBackendMemberMap(closureModels, identity),
@@ -761,6 +761,10 @@
   }
 
   @override
+  DartType visitAnyType(AnyType type, _EntityConverter converter) =>
+      const AnyType();
+
+  @override
   DartType visitInterfaceType(InterfaceType type, _EntityConverter converter) {
     return new InterfaceType(
         converter(type.element), visitList(type.typeArguments, converter));
diff --git a/pkg/compiler/lib/src/serialization/abstract_source.dart b/pkg/compiler/lib/src/serialization/abstract_source.dart
index 4dbc87f..7e46e16 100644
--- a/pkg/compiler/lib/src/serialization/abstract_source.dart
+++ b/pkg/compiler/lib/src/serialization/abstract_source.dart
@@ -236,6 +236,8 @@
         return new TypedefType(typedef, typeArguments, unaliased);
       case DartTypeKind.dynamicType:
         return const DynamicType();
+      case DartTypeKind.anyType:
+        return const AnyType();
       case DartTypeKind.futureOr:
         DartType typeArgument = _readDartType(functionTypeVariables);
         return new FutureOrType(typeArgument);
diff --git a/pkg/compiler/lib/src/serialization/helpers.dart b/pkg/compiler/lib/src/serialization/helpers.dart
index 176965b..1d13e87 100644
--- a/pkg/compiler/lib/src/serialization/helpers.dart
+++ b/pkg/compiler/lib/src/serialization/helpers.dart
@@ -96,6 +96,7 @@
   interfaceType,
   typedef,
   dynamicType,
+  anyType,
   futureOr,
 }
 
@@ -190,6 +191,12 @@
   }
 
   @override
+  void visitAnyType(covariant AnyType type,
+      List<FunctionTypeVariable> functionTypeVariables) {
+    _sink.writeEnum(DartTypeKind.anyType);
+  }
+
+  @override
   void visitFutureOrType(covariant FutureOrType type,
       List<FunctionTypeVariable> functionTypeVariables) {
     _sink.writeEnum(DartTypeKind.futureOr);
diff --git a/pkg/dev_compiler/lib/src/analyzer/driver.dart b/pkg/dev_compiler/lib/src/analyzer/driver.dart
index 5a7b3ca..bea1563 100644
--- a/pkg/dev_compiler/lib/src/analyzer/driver.dart
+++ b/pkg/dev_compiler/lib/src/analyzer/driver.dart
@@ -162,6 +162,7 @@
         MemoryByteStore(),
         FileContentOverlay(),
         _resourceProvider,
+        'contextName',
         sourceFactory,
         analysisOptions,
         unlinkedSalt,
diff --git a/pkg/dev_compiler/lib/src/compiler/shared_command.dart b/pkg/dev_compiler/lib/src/compiler/shared_command.dart
index 886de19..e75a067 100644
--- a/pkg/dev_compiler/lib/src/compiler/shared_command.dart
+++ b/pkg/dev_compiler/lib/src/compiler/shared_command.dart
@@ -393,6 +393,7 @@
   if (args.isKernel) {
     return kernel_compiler.compile(args.rest,
         compilerState: previousResult?.kernelState,
+        isWorker: args.isWorker,
         useIncrementalCompiler: args.useIncrementalCompiler,
         inputDigests: inputDigests);
   } else {
diff --git a/pkg/dev_compiler/lib/src/kernel/command.dart b/pkg/dev_compiler/lib/src/kernel/command.dart
index c4ab9cf..6606e51 100644
--- a/pkg/dev_compiler/lib/src/kernel/command.dart
+++ b/pkg/dev_compiler/lib/src/kernel/command.dart
@@ -36,11 +36,13 @@
 /// Returns `true` if the program compiled without any fatal errors.
 Future<CompilerResult> compile(List<String> args,
     {fe.InitializedCompilerState compilerState,
+    bool isWorker = false,
     bool useIncrementalCompiler = false,
     Map<Uri, List<int>> inputDigests}) async {
   try {
     return await _compile(args,
         compilerState: compilerState,
+        isWorker: isWorker,
         useIncrementalCompiler: useIncrementalCompiler,
         inputDigests: inputDigests);
   } catch (error, stackTrace) {
@@ -69,6 +71,7 @@
 
 Future<CompilerResult> _compile(List<String> args,
     {fe.InitializedCompilerState compilerState,
+    bool isWorker = false,
     bool useIncrementalCompiler = false,
     Map<Uri, List<int>> inputDigests}) async {
   // TODO(jmesserly): refactor options to share code with dartdevc CLI.
@@ -255,6 +258,20 @@
         experiments: experiments,
         environmentDefines: declaredVariables);
   } else {
+    // If digests weren't given and if not in worker mode, create fake data and
+    // ensure we don't have a previous state (as that wouldn't be safe with
+    // fake input digests).
+    if (!isWorker && (inputDigests == null || inputDigests.isEmpty)) {
+      oldCompilerState = null;
+      inputDigests ??= {};
+      if (!compileSdk) {
+        inputDigests[sourcePathToUri(sdkSummaryPath)] = const [0];
+      }
+      for (Uri uri in summaryModules.keys) {
+        inputDigests[uri] = const [0];
+      }
+    }
+
     doneInputSummaries = List<Component>(summaryModules.length);
     compilerState = await fe.initializeIncrementalCompiler(
         oldCompilerState,
diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags.dart
index 0bfe1a9..1c72931 100644
--- a/pkg/front_end/lib/src/api_prototype/experimental_flags.dart
+++ b/pkg/front_end/lib/src/api_prototype/experimental_flags.dart
@@ -49,10 +49,10 @@
 
 const Map<ExperimentalFlag, bool> expiredExperimentalFlags = {
   ExperimentalFlag.constantUpdate2018: true,
-  ExperimentalFlag.controlFlowCollections: false,
+  ExperimentalFlag.controlFlowCollections: true,
   ExperimentalFlag.extensionMethods: false,
   ExperimentalFlag.nonNullable: false,
   ExperimentalFlag.setLiterals: true,
-  ExperimentalFlag.spreadCollections: false,
+  ExperimentalFlag.spreadCollections: true,
   ExperimentalFlag.tripleShift: false,
 };
diff --git a/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart b/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart
index 81f0051..cb27792 100644
--- a/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart
+++ b/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart
@@ -6757,7 +6757,7 @@
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
 const MessageCode messageMetadataTypeArguments = const MessageCode(
     "MetadataTypeArguments",
-    analyzerCodes: <String>["ANNOTATION_WITH_TYPE_ARGUMENTS"],
+    index: 91,
     message: r"""An annotation (metadata) can't use type arguments.""");
 
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
diff --git a/pkg/front_end/lib/src/fasta/flow_analysis/flow_analysis.dart b/pkg/front_end/lib/src/fasta/flow_analysis/flow_analysis.dart
index 29ae839..e90aab5 100644
--- a/pkg/front_end/lib/src/fasta/flow_analysis/flow_analysis.dart
+++ b/pkg/front_end/lib/src/fasta/flow_analysis/flow_analysis.dart
@@ -4,33 +4,32 @@
 
 import 'package:meta/meta.dart';
 
-/// Sets of local variables that are potentially assigned in a statement.
-///
-/// These statements are loops, `switch`, and `try` statements.
-class AssignedVariables<Statement, Variable> {
+/// Sets of local variables that are potentially assigned in a loop statement,
+/// switch statement, try statement, or loop collection element.
+class AssignedVariables<StatementOrElement, Variable> {
   final emptySet = Set<Variable>();
 
-  /// Mapping from a [Statement] to the set of local variables that are
-  /// potentially assigned in that statement.
-  final Map<Statement, Set<Variable>> _map = {};
+  /// Mapping from a statement or element to the set of local variables that
+  /// are potentially assigned in that statement or element.
+  final Map<StatementOrElement, Set<Variable>> _map = {};
 
-  /// The stack of nested statements.
+  /// The stack of nested statements or collection elements.
   final List<Set<Variable>> _stack = [];
 
   AssignedVariables();
 
   /// Return the set of variables that are potentially assigned in the
-  /// [statement].
-  Set<Variable> operator [](Statement statement) {
-    return _map[statement] ?? emptySet;
+  /// [statementOrElement].
+  Set<Variable> operator [](StatementOrElement statementOrElement) {
+    return _map[statementOrElement] ?? emptySet;
   }
 
-  void beginStatement() {
+  void beginStatementOrElement() {
     Set<Variable> set = Set<Variable>.identity();
     _stack.add(set);
   }
 
-  void endStatement(Statement node) {
+  void endStatementOrElement(StatementOrElement node) {
     _map[node] = _stack.removeLast();
   }
 
@@ -244,36 +243,60 @@
     }());
   }
 
-  void forEachStatement_bodyBegin(Set<Variable> loopAssigned) {
-    _variablesReferenced(loopAssigned);
-    _stack.add(_current);
-    _current = _current.removePromotedAll(loopAssigned);
-  }
-
-  void forEachStatement_end() {
-    FlowModel<Variable, Type> afterIterable = _stack.removeLast();
-    _current = _join(_current, afterIterable);
-  }
-
-  void forStatement_bodyBegin(Statement node, Expression condition) {
+  /// Call this method just before visiting the body of a conventional "for"
+  /// statement or collection element.  See [for_conditionBegin] for details.
+  ///
+  /// If a "for" statement is being entered, [node] is an opaque representation
+  /// of the loop, for use as the target of future calls to [handleBreak] or
+  /// [handleContinue].  If a "for" collection element is being entered, [node]
+  /// should be `null`.
+  ///
+  /// [condition] is an opaque representation of the loop condition; it is
+  /// matched against expressions passed to previous calls to determine whether
+  /// the loop condition should cause any promotions to occur.
+  void for_bodyBegin(Statement node, Expression condition) {
     _conditionalEnd(condition);
     // Tail of the stack: falseCondition, trueCondition
 
     FlowModel<Variable, Type> trueCondition = _stack.removeLast();
 
-    _statementToStackIndex[node] = _stack.length;
+    if (node != null) {
+      _statementToStackIndex[node] = _stack.length;
+    }
     _stack.add(null); // break
     _stack.add(null); // continue
 
     _current = trueCondition;
   }
 
-  void forStatement_conditionBegin(Set<Variable> loopAssigned) {
+  /// Call this method just before visiting the condition of a conventional
+  /// "for" statement or collection element.
+  ///
+  /// Note that a conventional "for" statement is a statement of the form
+  /// `for (initializers; condition; updaters) body`.  Statements of the form
+  /// `for (variable in iterable) body` should use [forEach_bodyBegin].  Similar
+  /// for "for" collection elements.
+  ///
+  /// The order of visiting a "for" statement or collection element should be:
+  /// - Visit the initializers.
+  /// - Call [for_conditionBegin].
+  /// - Visit the condition.
+  /// - Call [for_bodyBegin].
+  /// - Visit the body.
+  /// - Call [for_updaterBegin].
+  /// - Visit the updaters.
+  /// - Call [for_end].
+  ///
+  /// [loopAssigned] should be the set of variables that are assigned anywhere
+  /// in the loop's condition, updaters, or body.
+  void for_conditionBegin(Set<Variable> loopAssigned) {
     _variablesReferenced(loopAssigned);
     _current = _current.removePromotedAll(loopAssigned);
   }
 
-  void forStatement_end() {
+  /// Call this method just after visiting the updaters of a conventional "for"
+  /// statement or collection element.  See [for_conditionBegin] for details.
+  void for_end() {
     // Tail of the stack: falseCondition, break
     FlowModel<Variable, Type> breakState = _stack.removeLast();
     FlowModel<Variable, Type> falseCondition = _stack.removeLast();
@@ -281,7 +304,9 @@
     _current = _join(falseCondition, breakState);
   }
 
-  void forStatement_updaterBegin() {
+  /// Call this method just before visiting the updaters of a conventional "for"
+  /// statement or collection element.  See [for_conditionBegin] for details.
+  void for_updaterBegin() {
     // Tail of the stack: falseCondition, break, continue
     FlowModel<Variable, Type> afterBody = _current;
     FlowModel<Variable, Type> continueState = _stack.removeLast();
@@ -289,6 +314,31 @@
     _current = _join(afterBody, continueState);
   }
 
+  /// Call this method just before visiting the body of a "for-in" statement or
+  /// collection element.
+  ///
+  /// The order of visiting a "for-in" statement or collection element should
+  /// be:
+  /// - Visit the iterable expression.
+  /// - Call [forEach_bodyBegin].
+  /// - Visit the body.
+  /// - Call [forEach_end].
+  ///
+  /// [loopAssigned] should be the set of variables that are assigned anywhere
+  /// in the loop's body.
+  void forEach_bodyBegin(Set<Variable> loopAssigned) {
+    _variablesReferenced(loopAssigned);
+    _stack.add(_current);
+    _current = _current.removePromotedAll(loopAssigned);
+  }
+
+  /// Call this method just before visiting the body of a "for-in" statement or
+  /// collection element.  See [forEach_bodyBegin] for details.
+  void forEach_end() {
+    FlowModel<Variable, Type> afterIterable = _stack.removeLast();
+    _current = _join(_current, afterIterable);
+  }
+
   void functionExpression_begin() {
     _stack.add(_current);
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 5d697e6..2b72f56 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -112,11 +112,11 @@
 import 'kernel_builder.dart';
 
 // TODO(ahe): Remove this and ensure all nodes have a location.
-const noLocation = null;
+const Token noLocation = null;
 
 // TODO(danrubel): Remove this once control flow and spread collection support
 // has been enabled by default.
-const invalidCollectionElement = const Object();
+const Object invalidCollectionElement = const Object();
 
 class BodyBuilder extends ScopeListener<JumpTarget>
     implements ExpressionGeneratorHelper, EnsureLoaded {
diff --git a/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart b/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart
index 99197b8..131372b 100644
--- a/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/class_hierarchy_builder.dart
@@ -2087,7 +2087,7 @@
   /// Conflicting declarations.
   final List<Builder> declarations;
 
-  final isSetter;
+  final bool isSetter;
 
   final bool modifyKernel;
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index 326f81e..b6c81d7 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -179,21 +179,24 @@
     }
   }
 
-  visitLibraryPart(LibraryPart node) {
+  @override
+  LibraryPart visitLibraryPart(LibraryPart node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
     });
     return node;
   }
 
-  visitLibraryDependency(LibraryDependency node) {
+  @override
+  LibraryDependency visitLibraryDependency(LibraryDependency node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
     });
     return node;
   }
 
-  visitClass(Class node) {
+  @override
+  Class visitClass(Class node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
       transformList(node.fields, this, node);
@@ -205,7 +208,8 @@
     return node;
   }
 
-  visitProcedure(Procedure node) {
+  @override
+  Procedure visitProcedure(Procedure node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
       node.function = node.function.accept(this)..parent = node;
@@ -213,7 +217,8 @@
     return node;
   }
 
-  visitConstructor(Constructor node) {
+  @override
+  Constructor visitConstructor(Constructor node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
       transformList(node.initializers, this, node);
@@ -222,7 +227,8 @@
     return node;
   }
 
-  visitTypedef(Typedef node) {
+  @override
+  Typedef visitTypedef(Typedef node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
       transformList(node.typeParameters, this, node);
@@ -233,7 +239,9 @@
     return node;
   }
 
-  visitRedirectingFactoryConstructor(RedirectingFactoryConstructor node) {
+  @override
+  RedirectingFactoryConstructor visitRedirectingFactoryConstructor(
+      RedirectingFactoryConstructor node) {
     constantEvaluator.withNewEnvironment(() {
       transformAnnotations(node.annotations, node);
       transformList(node.typeParameters, this, node);
@@ -243,7 +251,8 @@
     return node;
   }
 
-  visitTypeParameter(TypeParameter node) {
+  @override
+  TypeParameter visitTypeParameter(TypeParameter node) {
     transformAnnotations(node.annotations, node);
     return node;
   }
@@ -265,7 +274,8 @@
 
   // Handle definition of constants:
 
-  visitFunctionNode(FunctionNode node) {
+  @override
+  FunctionNode visitFunctionNode(FunctionNode node) {
     final int positionalParameterCount = node.positionalParameters.length;
     for (int i = 0; i < positionalParameterCount; ++i) {
       final VariableDeclaration variable = node.positionalParameters[i];
@@ -290,7 +300,8 @@
     return node;
   }
 
-  visitVariableDeclaration(VariableDeclaration node) {
+  @override
+  VariableDeclaration visitVariableDeclaration(VariableDeclaration node) {
     transformAnnotations(node.annotations, node);
 
     if (node.initializer != null) {
@@ -316,7 +327,8 @@
     return node;
   }
 
-  visitField(Field node) {
+  @override
+  Field visitField(Field node) {
     return constantEvaluator.withNewEnvironment(() {
       if (node.isConst) {
         transformAnnotations(node.annotations, node);
@@ -340,11 +352,13 @@
 
   // Handle use-sites of constants (and "inline" constant expressions):
 
-  visitSymbolLiteral(SymbolLiteral node) {
+  @override
+  Expression visitSymbolLiteral(SymbolLiteral node) {
     return makeConstantExpression(constantEvaluator.evaluate(node), node);
   }
 
-  visitStaticGet(StaticGet node) {
+  @override
+  Expression visitStaticGet(StaticGet node) {
     final Member target = node.target;
     if (target is Field && target.isConst) {
       // Make sure the initializer is evaluated first.
@@ -360,12 +374,14 @@
     return super.visitStaticGet(node);
   }
 
-  visitSwitchCase(SwitchCase node) {
+  @override
+  SwitchCase visitSwitchCase(SwitchCase node) {
     transformExpressions(node.expressions, node);
     return super.visitSwitchCase(node);
   }
 
-  visitVariableGet(VariableGet node) {
+  @override
+  Expression visitVariableGet(VariableGet node) {
     final VariableDeclaration variable = node.variable;
     if (variable.isConst) {
       variable.initializer =
@@ -378,54 +394,63 @@
     return super.visitVariableGet(node);
   }
 
-  visitListLiteral(ListLiteral node) {
+  @override
+  Expression visitListLiteral(ListLiteral node) {
     if (node.isConst) {
       return evaluateAndTransformWithContext(node, node);
     }
     return super.visitListLiteral(node);
   }
 
-  visitListConcatenation(ListConcatenation node) {
+  @override
+  Expression visitListConcatenation(ListConcatenation node) {
     return evaluateAndTransformWithContext(node, node);
   }
 
-  visitSetLiteral(SetLiteral node) {
+  @override
+  Expression visitSetLiteral(SetLiteral node) {
     if (node.isConst) {
       return evaluateAndTransformWithContext(node, node);
     }
     return super.visitSetLiteral(node);
   }
 
-  visitSetConcatenation(SetConcatenation node) {
+  @override
+  Expression visitSetConcatenation(SetConcatenation node) {
     return evaluateAndTransformWithContext(node, node);
   }
 
-  visitMapLiteral(MapLiteral node) {
+  @override
+  Expression visitMapLiteral(MapLiteral node) {
     if (node.isConst) {
       return evaluateAndTransformWithContext(node, node);
     }
     return super.visitMapLiteral(node);
   }
 
-  visitMapConcatenation(MapConcatenation node) {
+  @override
+  Expression visitMapConcatenation(MapConcatenation node) {
     return evaluateAndTransformWithContext(node, node);
   }
 
-  visitConstructorInvocation(ConstructorInvocation node) {
+  @override
+  Expression visitConstructorInvocation(ConstructorInvocation node) {
     if (node.isConst) {
       return evaluateAndTransformWithContext(node, node);
     }
     return super.visitConstructorInvocation(node);
   }
 
-  visitStaticInvocation(StaticInvocation node) {
+  @override
+  Expression visitStaticInvocation(StaticInvocation node) {
     if (node.isConst) {
       return evaluateAndTransformWithContext(node, node);
     }
     return super.visitStaticInvocation(node);
   }
 
-  visitConstantExpression(ConstantExpression node) {
+  @override
+  Expression visitConstantExpression(ConstantExpression node) {
     Constant constant = node.constant;
     if (constant is UnevaluatedConstant) {
       Expression expression = constant.expression;
@@ -480,7 +505,8 @@
   final bool desugarSets;
   final Field unmodifiableSetMap;
 
-  final isInstantiated = new IsInstantiatedVisitor().isInstantiated;
+  final bool Function(DartType) isInstantiated =
+      new IsInstantiatedVisitor().isInstantiated;
 
   final Map<Constant, Constant> canonicalizationCache;
   final Map<Node, Object> nodeCache;
@@ -701,7 +727,7 @@
     return _evaluateSubexpression(node);
   }
 
-  Constant runInsideContext(TreeNode node, Constant fun()) {
+  T runInsideContext<T>(TreeNode node, T fun()) {
     try {
       pushContext(node);
       return fun();
@@ -710,7 +736,7 @@
     }
   }
 
-  Constant runInsideContextIfNoContext(TreeNode node, Constant fun()) {
+  T runInsideContextIfNoContext<T>(TreeNode node, T fun()) {
     if (contextChain.isEmpty) {
       return runInsideContext(node, fun);
     } else {
@@ -718,29 +744,33 @@
     }
   }
 
-  pushContext(TreeNode contextNode) {
+  void pushContext(TreeNode contextNode) {
     contextChain.add(contextNode);
   }
 
-  popContext(TreeNode contextNode) {
+  void popContext(TreeNode contextNode) {
     assert(contextChain.last == contextNode);
     contextChain.length = contextChain.length - 1;
   }
 
-  defaultTreeNode(Node node) {
+  @override
+  Constant defaultTreeNode(Node node) {
     // Only a subset of the expression language is valid for constant
     // evaluation.
     return reportInvalid(
         node, 'Constant evaluation has no support for ${node.runtimeType}!');
   }
 
-  visitNullLiteral(NullLiteral node) => nullConstant;
+  @override
+  Constant visitNullLiteral(NullLiteral node) => nullConstant;
 
-  visitBoolLiteral(BoolLiteral node) {
+  @override
+  Constant visitBoolLiteral(BoolLiteral node) {
     return makeBoolConstant(node.value);
   }
 
-  visitIntLiteral(IntLiteral node) {
+  @override
+  Constant visitIntLiteral(IntLiteral node) {
     // The frontend ensures that integer literals are valid according to the
     // target representation.
     return targetingJavaScript
@@ -748,20 +778,24 @@
         : canonicalize(new IntConstant(node.value));
   }
 
-  visitDoubleLiteral(DoubleLiteral node) {
+  @override
+  Constant visitDoubleLiteral(DoubleLiteral node) {
     return canonicalize(makeDoubleConstant(node.value));
   }
 
-  visitStringLiteral(StringLiteral node) {
+  @override
+  Constant visitStringLiteral(StringLiteral node) {
     return canonicalize(new StringConstant(node.value));
   }
 
-  visitTypeLiteral(TypeLiteral node) {
+  @override
+  Constant visitTypeLiteral(TypeLiteral node) {
     final DartType type = evaluateDartType(node, node.type);
     return canonicalize(new TypeLiteralConstant(type));
   }
 
-  visitConstantExpression(ConstantExpression node) {
+  @override
+  Constant visitConstantExpression(ConstantExpression node) {
     Constant constant = node.constant;
     Constant result = constant;
     if (constant is UnevaluatedConstant) {
@@ -784,7 +818,8 @@
     return canonicalize(result);
   }
 
-  visitListLiteral(ListLiteral node) {
+  @override
+  Constant visitListLiteral(ListLiteral node) {
     if (!node.isConst) {
       return report(
           node, templateConstEvalNonConstantLiteral.withArguments('List'));
@@ -797,7 +832,8 @@
     return builder.build();
   }
 
-  visitListConcatenation(ListConcatenation node) {
+  @override
+  Constant visitListConcatenation(ListConcatenation node) {
     final ListConstantBuilder builder =
         new ListConstantBuilder(node, node.typeArgument, this);
     for (Expression list in node.lists) {
@@ -806,7 +842,8 @@
     return builder.build();
   }
 
-  visitSetLiteral(SetLiteral node) {
+  @override
+  Constant visitSetLiteral(SetLiteral node) {
     if (!node.isConst) {
       return report(
           node, templateConstEvalNonConstantLiteral.withArguments('Set'));
@@ -819,7 +856,8 @@
     return builder.build();
   }
 
-  visitSetConcatenation(SetConcatenation node) {
+  @override
+  Constant visitSetConcatenation(SetConcatenation node) {
     final SetConstantBuilder builder =
         new SetConstantBuilder(node, node.typeArgument, this);
     for (Expression set_ in node.sets) {
@@ -828,7 +866,8 @@
     return builder.build();
   }
 
-  visitMapLiteral(MapLiteral node) {
+  @override
+  Constant visitMapLiteral(MapLiteral node) {
     if (!node.isConst) {
       return report(
           node, templateConstEvalNonConstantLiteral.withArguments('Map'));
@@ -841,7 +880,8 @@
     return builder.build();
   }
 
-  visitMapConcatenation(MapConcatenation node) {
+  @override
+  Constant visitMapConcatenation(MapConcatenation node) {
     final MapConstantBuilder builder =
         new MapConstantBuilder(node, node.keyType, node.valueType, this);
     for (Expression map in node.maps) {
@@ -850,12 +890,14 @@
     return builder.build();
   }
 
-  visitFunctionExpression(FunctionExpression node) {
+  @override
+  Constant visitFunctionExpression(FunctionExpression node) {
     return report(
         node, templateConstEvalNonConstantLiteral.withArguments('Function'));
   }
 
-  visitConstructorInvocation(ConstructorInvocation node) {
+  @override
+  Constant visitConstructorInvocation(ConstructorInvocation node) {
     final Constructor constructor = node.target;
     final Class klass = constructor.enclosingClass;
     bool isSymbol = klass == coreTypes.internalSymbolClass;
@@ -928,7 +970,8 @@
     });
   }
 
-  visitInstanceCreation(InstanceCreation node) {
+  @override
+  Constant visitInstanceCreation(InstanceCreation node) {
     return withNewInstanceBuilder(node.classNode, node.typeArguments, () {
       for (AssertStatement statement in node.asserts) {
         checkAssert(statement);
@@ -1031,10 +1074,10 @@
   ///   IDENTIFIER_PART_NO_DOLLAR:
   ///       IDENTIFIER_START_NO_DOLLAR | DIGIT
   ///
-  static final publicIdentifierRegExp =
+  static final RegExp publicIdentifierRegExp =
       new RegExp(r'^[a-zA-Z$][a-zA-Z0-9_$]*$');
 
-  static const nonUsableKeywords = const <String>[
+  static const List<String> nonUsableKeywords = const <String>[
     'assert',
     'break',
     'case',
@@ -1074,7 +1117,7 @@
         !nonUsableKeywords.contains(name);
   }
 
-  handleConstructorInvocation(
+  void handleConstructorInvocation(
       Constructor constructor,
       List<DartType> typeArguments,
       List<Constant> positionalArguments,
@@ -1200,11 +1243,13 @@
     }
   }
 
-  visitInvalidExpression(InvalidExpression node) {
+  @override
+  Constant visitInvalidExpression(InvalidExpression node) {
     return reportInvalid(node, node.message);
   }
 
-  visitMethodInvocation(MethodInvocation node) {
+  @override
+  Constant visitMethodInvocation(MethodInvocation node) {
     // We have no support for generic method invocation atm.
     assert(node.arguments.named.isEmpty);
 
@@ -1462,7 +1507,8 @@
         templateConstEvalInvalidMethodInvocation.withArguments(op, receiver));
   }
 
-  visitLogicalExpression(LogicalExpression node) {
+  @override
+  Constant visitLogicalExpression(LogicalExpression node) {
     final Constant left = _evaluateSubexpression(node.left);
     if (shouldBeUnevaluated) {
       enterLazy();
@@ -1526,7 +1572,8 @@
     }
   }
 
-  visitConditionalExpression(ConditionalExpression node) {
+  @override
+  Constant visitConditionalExpression(ConditionalExpression node) {
     final Constant condition = _evaluateSubexpression(node.condition);
     if (condition == trueConstant) {
       return _evaluateSubexpression(node.then);
@@ -1549,7 +1596,8 @@
     }
   }
 
-  visitPropertyGet(PropertyGet node) {
+  @override
+  Constant visitPropertyGet(PropertyGet node) {
     if (node.receiver is ThisExpression) {
       // Access "this" during instance creation.
       if (instanceBuilder == null) {
@@ -1582,13 +1630,15 @@
             node.name.name, receiver));
   }
 
-  visitLet(Let node) {
+  @override
+  Constant visitLet(Let node) {
     env.addVariableValue(
         node.variable, _evaluateSubexpression(node.variable.initializer));
     return _evaluateSubexpression(node.body);
   }
 
-  visitVariableGet(VariableGet node) {
+  @override
+  Constant visitVariableGet(VariableGet node) {
     // Not every variable which a [VariableGet] refers to must be marked as
     // constant.  For example function parameters as well as constructs
     // desugared to [Let] expressions are ok.
@@ -1609,7 +1659,8 @@
     return reportInvalid(node, 'Variable get of a non-const variable.');
   }
 
-  visitStaticGet(StaticGet node) {
+  @override
+  Constant visitStaticGet(StaticGet node) {
     return withNewEnvironment(() {
       final Member target = node.target;
       if (target is Field) {
@@ -1638,7 +1689,8 @@
     });
   }
 
-  visitStringConcatenation(StringConcatenation node) {
+  @override
+  Constant visitStringConcatenation(StringConcatenation node) {
     final List<Object> concatenated = <Object>[new StringBuffer()];
     for (int i = 0; i < node.expressions.length; i++) {
       Constant constant = _evaluateSubexpression(node.expressions[i]);
@@ -1681,7 +1733,8 @@
     return canonicalize(new StringConstant(concatenated.single.toString()));
   }
 
-  visitStaticInvocation(StaticInvocation node) {
+  @override
+  Constant visitStaticInvocation(StaticInvocation node) {
     final Procedure target = node.target;
     final Arguments arguments = node.arguments;
     final List<Constant> positionals = evaluatePositionalArguments(arguments);
@@ -1790,7 +1843,8 @@
         node, templateConstEvalInvalidStaticInvocation.withArguments(name));
   }
 
-  visitAsExpression(AsExpression node) {
+  @override
+  Constant visitAsExpression(AsExpression node) {
     final Constant constant = _evaluateSubexpression(node.operand);
     if (shouldBeUnevaluated) {
       return unevaluated(node,
@@ -1799,7 +1853,8 @@
     return ensureIsSubtype(constant, evaluateDartType(node, node.type), node);
   }
 
-  visitIsExpression(IsExpression node) {
+  @override
+  Constant visitIsExpression(IsExpression node) {
     final Constant constant = node.operand.accept(this);
     if (shouldBeUnevaluated) {
       return unevaluated(node, new IsExpression(extract(constant), node.type));
@@ -1813,7 +1868,8 @@
         isSubtype(constant, evaluateDartType(node, node.type)));
   }
 
-  visitNot(Not node) {
+  @override
+  Constant visitNot(Not node) {
     final Constant constant = _evaluateSubexpression(node.operand);
     if (constant is BoolConstant) {
       return makeBoolConstant(constant != trueConstant);
@@ -1827,13 +1883,15 @@
             typeEnvironment.boolType, constant.getType(typeEnvironment)));
   }
 
-  visitSymbolLiteral(SymbolLiteral node) {
+  @override
+  Constant visitSymbolLiteral(SymbolLiteral node) {
     final Reference libraryReference =
         node.value.startsWith('_') ? libraryOf(node).reference : null;
     return canonicalize(new SymbolConstant(node.value, libraryReference));
   }
 
-  visitInstantiation(Instantiation node) {
+  @override
+  Constant visitInstantiation(Instantiation node) {
     final Constant constant = _evaluateSubexpression(node.expression);
     if (shouldBeUnevaluated) {
       return unevaluated(
@@ -1861,7 +1919,7 @@
   }
 
   @override
-  visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) {
+  Constant visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) {
     return report(
         node, templateConstEvalDeferredLibrary.withArguments(node.import.name));
   }
@@ -2005,7 +2063,8 @@
     return canonicalizationCache.putIfAbsent(constant, () => constant);
   }
 
-  withNewInstanceBuilder(Class klass, List<DartType> typeArguments, fn()) {
+  T withNewInstanceBuilder<T>(
+      Class klass, List<DartType> typeArguments, T fn()) {
     InstanceBuilder old = instanceBuilder;
     try {
       instanceBuilder = new InstanceBuilder(this, klass, typeArguments);
@@ -2015,7 +2074,7 @@
     }
   }
 
-  withNewEnvironment(fn()) {
+  T withNewEnvironment<T>(T fn()) {
     final EvaluationEnvironment oldEnv = env;
     try {
       env = new EvaluationEnvironment();
@@ -2297,24 +2356,35 @@
     return type.accept(this);
   }
 
+  @override
   bool defaultDartType(DartType node) {
     throw 'A visitor method seems to be unimplemented!';
   }
 
+  @override
   bool visitInvalidType(InvalidType node) => true;
+
+  @override
   bool visitDynamicType(DynamicType node) => true;
+
+  @override
   bool visitVoidType(VoidType node) => true;
+
+  @override
   bool visitBottomType(BottomType node) => true;
 
+  @override
   bool visitTypeParameterType(TypeParameterType node) {
     return _availableVariables.contains(node.parameter);
   }
 
+  @override
   bool visitInterfaceType(InterfaceType node) {
     return node.typeArguments
         .every((DartType typeArgument) => typeArgument.accept(this));
   }
 
+  @override
   bool visitFunctionType(FunctionType node) {
     final List<TypeParameter> parameters = node.typeParameters;
     _availableVariables.addAll(parameters);
@@ -2325,6 +2395,7 @@
     return result;
   }
 
+  @override
   bool visitTypedefType(TypedefType node) {
     return node.unalias.accept(this);
   }
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
index 00f8141..2ffbade 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
@@ -1363,7 +1363,7 @@
 /// objects.
 class ShadowTypeInferrer extends TypeInferrerImpl {
   @override
-  final typePromoter;
+  final TypePromoter typePromoter;
 
   ShadowTypeInferrer.private(ShadowTypeInferenceEngine engine, Uri uri,
       bool topLevel, InterfaceType thisType, SourceLibraryBuilder library)
diff --git a/pkg/front_end/lib/src/fasta/kernel/utils.dart b/pkg/front_end/lib/src/fasta/kernel/utils.dart
index 41f5eb7..7f9f97d 100644
--- a/pkg/front_end/lib/src/fasta/kernel/utils.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/utils.dart
@@ -84,12 +84,13 @@
   if (procedure.parent is Class) {
     Class realClass = procedure.parent;
 
-    Class fakeClass = new Class(name: kDebugClassName);
+    Class fakeClass = new Class(name: kDebugClassName)..parent = fakeLibrary;
     Map<TypeParameter, TypeParameter> typeParams =
         <TypeParameter, TypeParameter>{};
     Map<TypeParameter, DartType> typeSubstitution = <TypeParameter, DartType>{};
     for (TypeParameter typeParam in realClass.typeParameters) {
-      TypeParameter newNode = new TypeParameter(typeParam.name);
+      TypeParameter newNode = new TypeParameter(typeParam.name)
+        ..parent = fakeClass;
       typeParams[typeParam] = newNode;
       typeSubstitution[typeParam] = new TypeParameterType(newNode);
     }
@@ -100,7 +101,6 @@
       fakeClass.typeParameters.add(typeParam.accept(cloner));
     }
 
-    fakeClass.parent = fakeLibrary;
     if (realClass.supertype != null) {
       // supertype is null for Object.
       fakeClass.supertype = new Supertype.byReference(
diff --git a/pkg/front_end/lib/src/fasta/parser/identifier_context.dart b/pkg/front_end/lib/src/fasta/parser/identifier_context.dart
index 460dc1b..bfeab30 100644
--- a/pkg/front_end/lib/src/fasta/parser/identifier_context.dart
+++ b/pkg/front_end/lib/src/fasta/parser/identifier_context.dart
@@ -24,116 +24,133 @@
 class IdentifierContext {
   /// Identifier is being declared as the name of an import prefix (i.e. `Foo`
   /// in `import "..." as Foo;`)
-  static const importPrefixDeclaration = const ImportPrefixIdentifierContext();
+  static const ImportPrefixIdentifierContext importPrefixDeclaration =
+      const ImportPrefixIdentifierContext();
 
   /// Identifier is the start of a dotted name in a conditional import or
   /// export.
-  static const dottedName = const DottedNameIdentifierContext();
+  static const DottedNameIdentifierContext dottedName =
+      const DottedNameIdentifierContext();
 
   /// Identifier is part of a dotted name in a conditional import or export, but
   /// it's not the first identifier of the dotted name.
-  static const dottedNameContinuation =
+  static const DottedNameIdentifierContext dottedNameContinuation =
       const DottedNameIdentifierContext.continuation();
 
   /// Identifier is one of the shown/hidden names in an import/export
   /// combinator.
-  static const combinator = const CombinatorIdentifierContext();
+  static const CombinatorIdentifierContext combinator =
+      const CombinatorIdentifierContext();
 
   /// Identifier is the start of a name in an annotation that precedes a
   /// declaration (i.e. it appears directly after an `@`).
-  static const metadataReference = const MetadataReferenceIdentifierContext();
+  static const MetadataReferenceIdentifierContext metadataReference =
+      const MetadataReferenceIdentifierContext();
 
   /// Identifier is part of a name in an annotation that precedes a declaration,
   /// but it's not the first identifier in the name.
-  static const metadataContinuation =
+  static const MetadataReferenceIdentifierContext metadataContinuation =
       const MetadataReferenceIdentifierContext.continuation();
 
   /// Identifier is part of a name in an annotation that precedes a declaration,
   /// but it appears after type parameters (e.g. `foo` in `@X<Y>.foo()`).
-  static const metadataContinuationAfterTypeArguments =
+  static const MetadataReferenceIdentifierContext
+      metadataContinuationAfterTypeArguments =
       const MetadataReferenceIdentifierContext.continuationAfterTypeArguments();
 
   /// Identifier is the name being declared by a typedef declaration.
-  static const typedefDeclaration = const TypedefDeclarationIdentifierContext();
+  static const TypedefDeclarationIdentifierContext typedefDeclaration =
+      const TypedefDeclarationIdentifierContext();
 
   /// Identifier is a field initializer in a formal parameter list (i.e. it
   /// appears directly after `this.`).
-  static const fieldInitializer = const FieldInitializerIdentifierContext();
+  static const FieldInitializerIdentifierContext fieldInitializer =
+      const FieldInitializerIdentifierContext();
 
   /// Identifier is a formal parameter being declared as part of a function,
   /// method, or typedef declaration.
-  static const formalParameterDeclaration =
+  static const FormalParameterDeclarationIdentifierContext
+      formalParameterDeclaration =
       const FormalParameterDeclarationIdentifierContext();
 
   /// Identifier is a formal parameter being declared as part of a catch block
   /// in a try/catch/finally statement.
-  static const catchParameter = const CatchParameterIdentifierContext();
+  static const CatchParameterIdentifierContext catchParameter =
+      const CatchParameterIdentifierContext();
 
   /// Identifier is the start of a library name (e.g. `foo` in the directive
   /// 'library foo;`).
-  static const libraryName = const LibraryIdentifierContext();
+  static const LibraryIdentifierContext libraryName =
+      const LibraryIdentifierContext();
 
   /// Identifier is part of a library name, but it's not the first identifier in
   /// the name.
-  static const libraryNameContinuation =
+  static const LibraryIdentifierContext libraryNameContinuation =
       const LibraryIdentifierContext.continuation();
 
   /// Identifier is the start of a library name referenced by a `part of`
   /// directive (e.g. `foo` in the directive `part of foo;`).
-  static const partName = const LibraryIdentifierContext.partName();
+  static const LibraryIdentifierContext partName =
+      const LibraryIdentifierContext.partName();
 
   /// Identifier is part of a library name referenced by a `part of` directive,
   /// but it's not the first identifier in the name.
-  static const partNameContinuation =
+  static const LibraryIdentifierContext partNameContinuation =
       const LibraryIdentifierContext.partNameContinuation();
 
   /// Identifier is the type name being declared by an enum declaration.
-  static const enumDeclaration = const EnumDeclarationIdentifierContext();
+  static const EnumDeclarationIdentifierContext enumDeclaration =
+      const EnumDeclarationIdentifierContext();
 
   /// Identifier is an enumerated value name being declared by an enum
   /// declaration.
-  static const enumValueDeclaration =
+  static const EnumValueDeclarationIdentifierContext enumValueDeclaration =
       const EnumValueDeclarationIdentifierContext();
 
   /// Identifier is the name being declared by a class declaration, a mixin
   /// declaration, or a named mixin application, for example,
   /// `Foo` in `class Foo = X with Y;`.
-  static const classOrMixinOrExtensionDeclaration =
+  static const ClassOrMixinOrExtensionIdentifierContext
+      classOrMixinOrExtensionDeclaration =
       const ClassOrMixinOrExtensionIdentifierContext();
 
   /// Identifier is the name of a type variable being declared (e.g. `Foo` in
   /// `class C<Foo extends num> {}`).
-  static const typeVariableDeclaration =
+  static const TypeVariableDeclarationIdentifierContext
+      typeVariableDeclaration =
       const TypeVariableDeclarationIdentifierContext();
 
   /// Identifier is the start of a reference to a type that starts with prefix.
-  static const prefixedTypeReference =
+  static const TypeReferenceIdentifierContext prefixedTypeReference =
       const TypeReferenceIdentifierContext.prefixed();
 
   /// Identifier is the start of a reference to a type declared elsewhere.
-  static const typeReference = const TypeReferenceIdentifierContext();
+  static const TypeReferenceIdentifierContext typeReference =
+      const TypeReferenceIdentifierContext();
 
   /// Identifier is part of a reference to a type declared elsewhere, but it's
   /// not the first identifier of the reference.
-  static const typeReferenceContinuation =
+  static const TypeReferenceIdentifierContext typeReferenceContinuation =
       const TypeReferenceIdentifierContext.continuation();
 
   /// Identifier is a name being declared by a top level variable declaration.
-  static const topLevelVariableDeclaration =
-      const TopLevelDeclarationIdentifierContext(
+  static const TopLevelDeclarationIdentifierContext
+      topLevelVariableDeclaration = const TopLevelDeclarationIdentifierContext(
           'topLevelVariableDeclaration', const [';', '=', ',']);
 
   /// Identifier is a name being declared by a field declaration.
-  static const fieldDeclaration = const FieldDeclarationIdentifierContext();
+  static const FieldDeclarationIdentifierContext fieldDeclaration =
+      const FieldDeclarationIdentifierContext();
 
   /// Identifier is the name being declared by a top level function declaration.
-  static const topLevelFunctionDeclaration =
-      const TopLevelDeclarationIdentifierContext(
+  static const TopLevelDeclarationIdentifierContext
+      topLevelFunctionDeclaration = const TopLevelDeclarationIdentifierContext(
           'topLevelFunctionDeclaration', const ['<', '(', '{', '=>']);
 
   /// Identifier is the start of the name being declared by a method
   /// declaration.
-  static const methodDeclaration = const MethodDeclarationIdentifierContext();
+  static const MethodDeclarationIdentifierContext methodDeclaration =
+      const MethodDeclarationIdentifierContext();
 
   /// Identifier is part of the name being declared by a method declaration,
   /// but it's not the first identifier of the name.
@@ -141,7 +158,8 @@
   /// In valid Dart, this can only happen if the identifier is the name of a
   /// named constructor which is being declared, e.g. `foo` in
   /// `class C { C.foo(); }`.
-  static const methodDeclarationContinuation =
+  static const MethodDeclarationIdentifierContext
+      methodDeclarationContinuation =
       const MethodDeclarationIdentifierContext.continuation();
 
   /// Identifier appears after the word `operator` in a method declaration.
@@ -149,12 +167,13 @@
   /// TODO(paulberry,ahe): Does this ever occur in valid Dart, or does it only
   /// occur as part of error recovery?  If it's only as part of error recovery,
   /// perhaps we should just re-use methodDeclaration.
-  static const operatorName =
+  static const MethodDeclarationIdentifierContext operatorName =
       const MethodDeclarationIdentifierContext.continuation();
 
   /// Identifier is the start of the name being declared by a local function
   /// declaration.
-  static const localFunctionDeclaration =
+  static const LocalFunctionDeclarationIdentifierContext
+      localFunctionDeclaration =
       const LocalFunctionDeclarationIdentifierContext();
 
   /// Identifier is part of the name being declared by a local function
@@ -162,58 +181,66 @@
   ///
   /// TODO(paulberry,ahe): Does this ever occur in valid Dart, or does it only
   /// occur as part of error recovery?
-  static const localFunctionDeclarationContinuation =
+  static const LocalFunctionDeclarationIdentifierContext
+      localFunctionDeclarationContinuation =
       const LocalFunctionDeclarationIdentifierContext.continuation();
 
   /// Identifier is the start of a reference to a constructor declared
   /// elsewhere.
-  static const constructorReference =
+  static const ConstructorReferenceIdentifierContext constructorReference =
       const ConstructorReferenceIdentifierContext();
 
   /// Identifier is part of a reference to a constructor declared elsewhere, but
   /// it's not the first identifier of the reference.
-  static const constructorReferenceContinuation =
+  static const ConstructorReferenceIdentifierContext
+      constructorReferenceContinuation =
       const ConstructorReferenceIdentifierContext.continuation();
 
   /// Identifier is part of a reference to a constructor declared elsewhere, but
   /// it appears after type parameters (e.g. `foo` in `X<Y>.foo`).
-  static const constructorReferenceContinuationAfterTypeArguments =
+  static const ConstructorReferenceIdentifierContext
+      constructorReferenceContinuationAfterTypeArguments =
       const ConstructorReferenceIdentifierContext
           .continuationAfterTypeArguments();
 
   /// Identifier is the declaration of a label (i.e. it is followed by `:` and
   /// then a statement).
-  static const labelDeclaration = const LabelDeclarationIdentifierContext();
+  static const LabelDeclarationIdentifierContext labelDeclaration =
+      const LabelDeclarationIdentifierContext();
 
   /// Identifier is the start of a reference occurring in a literal symbol (e.g.
   /// `foo` in `#foo`).
-  static const literalSymbol = const LiteralSymbolIdentifierContext();
+  static const LiteralSymbolIdentifierContext literalSymbol =
+      const LiteralSymbolIdentifierContext();
 
   /// Identifier is part of a reference occurring in a literal symbol, but it's
   /// not the first identifier of the reference (e.g. `foo` in `#prefix.foo`).
-  static const literalSymbolContinuation =
+  static const LiteralSymbolIdentifierContext literalSymbolContinuation =
       const LiteralSymbolIdentifierContext.continuation();
 
   /// Identifier appears in an expression, and it does not immediately follow a
   /// `.`.
-  static const expression = const ExpressionIdentifierContext();
+  static const ExpressionIdentifierContext expression =
+      const ExpressionIdentifierContext();
 
   /// Identifier appears in an expression, and it immediately follows a `.`.
-  static const expressionContinuation =
+  static const ExpressionIdentifierContext expressionContinuation =
       const ExpressionIdentifierContext.continuation();
 
   /// Identifier is a reference to a named argument of a function or method
   /// invocation (e.g. `foo` in `f(foo: 0);`.
-  static const namedArgumentReference =
+  static const NamedArgumentReferenceIdentifierContext namedArgumentReference =
       const NamedArgumentReferenceIdentifierContext();
 
   /// Identifier is a name being declared by a local variable declaration.
-  static const localVariableDeclaration =
+  static const LocalVariableDeclarationIdentifierContext
+      localVariableDeclaration =
       const LocalVariableDeclarationIdentifierContext();
 
   /// Identifier is a reference to a label (e.g. `foo` in `break foo;`).
   /// Labels have their own scope.
-  static const labelReference = const LabelReferenceIdentifierContext();
+  static const LabelReferenceIdentifierContext labelReference =
+      const LabelReferenceIdentifierContext();
 
   final String _name;
 
diff --git a/pkg/front_end/lib/src/fasta/parser/type_info_impl.dart b/pkg/front_end/lib/src/fasta/parser/type_info_impl.dart
index 63a28eb..28e7ba9 100644
--- a/pkg/front_end/lib/src/fasta/parser/type_info_impl.dart
+++ b/pkg/front_end/lib/src/fasta/parser/type_info_impl.dart
@@ -1151,9 +1151,16 @@
     if (parseCloser(next)) {
       return next;
     }
-    Token endGroup = syntheticGt(next);
-    endGroup.setNext(next);
-    token.setNext(endGroup);
+    Token endGroup = start.endGroup;
+    if (endGroup != null) {
+      while (token.next != endGroup && !token.isEof) {
+        token = token.next;
+      }
+    } else {
+      endGroup = syntheticGt(next);
+      endGroup.setNext(next);
+      token.setNext(endGroup);
+    }
     return token;
   }
 
diff --git a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
index 143a72e..2103911 100644
--- a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
@@ -1885,8 +1885,9 @@
 /// [ScannerConfiguration] contains information for configuring which tokens
 /// the scanner produces based upon the Dart language level.
 class ScannerConfiguration {
-  static const classic = ScannerConfiguration();
-  static const nonNullable = ScannerConfiguration(enableNonNullable: true);
+  static const ScannerConfiguration classic = ScannerConfiguration();
+  static const ScannerConfiguration nonNullable =
+      ScannerConfiguration(enableNonNullable: true);
 
   /// Experimental flag for enabling scanning of the `extension` keyword.
   final bool enableExtensionMethods;
diff --git a/pkg/front_end/lib/src/fasta/scanner/string_canonicalizer.dart b/pkg/front_end/lib/src/fasta/scanner/string_canonicalizer.dart
index 7f1996b..3467c53 100644
--- a/pkg/front_end/lib/src/fasta/scanner/string_canonicalizer.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/string_canonicalizer.dart
@@ -7,7 +7,7 @@
 import 'dart:convert';
 
 class Node {
-  var /* String | List<int> */ data;
+  dynamic /* String | List<int> */ data;
   int start;
   int end;
   String payload;
diff --git a/pkg/front_end/lib/src/fasta/scanner/token.dart b/pkg/front_end/lib/src/fasta/scanner/token.dart
index 916dc60..5a4e990 100644
--- a/pkg/front_end/lib/src/fasta/scanner/token.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/token.dart
@@ -27,7 +27,7 @@
    */
   static const int LAZY_THRESHOLD = 4;
 
-  var /* String | LazySubstring */ valueOrLazySubstring;
+  dynamic /* String | LazySubstring */ valueOrLazySubstring;
 
   /**
    * Creates a non-lazy string token. If [canonicalize] is true, the string
@@ -296,7 +296,7 @@
  * The file html_dart2js.dart is currently around 1MB.
  */
 class _CompactLazySubstring extends _LazySubstring {
-  final data;
+  final dynamic data;
   final int fields;
 
   _CompactLazySubstring(this.data, this.fields) : super.internal();
@@ -307,7 +307,7 @@
 }
 
 class _FullLazySubstring extends _LazySubstring {
-  final data;
+  final dynamic data;
   final int start;
   final int length;
   final bool boolValue;
diff --git a/pkg/front_end/lib/src/fasta/testing/validating_instrumentation.dart b/pkg/front_end/lib/src/fasta/testing/validating_instrumentation.dart
index c6a2461..8c96c60 100644
--- a/pkg/front_end/lib/src/fasta/testing/validating_instrumentation.dart
+++ b/pkg/front_end/lib/src/fasta/testing/validating_instrumentation.dart
@@ -25,10 +25,10 @@
 /// Implementation of [Instrumentation] which checks property/value pairs
 /// against expectations encoded in source files using "/*@...*/" comments.
 class ValidatingInstrumentation implements Instrumentation {
-  static final _ESCAPE_SEQUENCE = new RegExp(r'\\(.)');
+  static final RegExp _ESCAPE_SEQUENCE = new RegExp(r'\\(.)');
 
   /// Map from feature names to the property names they are short for.
-  static const _FEATURES = const {
+  static const Map<String, List<String>> _FEATURES = const {
     'inference': const [
       'typeArg',
       'typeArgs',
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index 0b53548..4ba9581 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -1257,8 +1257,9 @@
   analyzerCode: FINAL_NOT_INITIALIZED
 
 MetadataTypeArguments:
+  index: 91
   template: "An annotation (metadata) can't use type arguments."
-  analyzerCode: ANNOTATION_WITH_TYPE_ARGUMENTS
+  analyzerCode: ParserErrorCode.ANNOTATION_WITH_TYPE_ARGUMENTS
 
 ConstructorNotFound:
   template: "Couldn't find constructor '#name'."
diff --git a/pkg/front_end/pubspec.yaml b/pkg/front_end/pubspec.yaml
index 2842dbf..876a203 100644
--- a/pkg/front_end/pubspec.yaml
+++ b/pkg/front_end/pubspec.yaml
@@ -1,19 +1,19 @@
 name: front_end
 # Currently, front_end API is not stable and users should not
 # depend on semver semantics when depending on this package.
-version: 0.1.22
+version: 0.1.23
 author: Dart Team <misc@dartlang.org>
 description: Front end for compilation of Dart code.
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/front_end
 environment:
   sdk: '>=2.2.2 <3.0.0'
 dependencies:
-  kernel: 0.3.22
+  kernel: 0.3.23
   package_config: '^1.1.0'
   path: '^1.3.9'
   yaml: '^2.1.12'
 dev_dependencies:
-  analyzer: 0.38.0
+  analyzer: 0.38.1
   args: '>=0.13.0 <2.0.0'
   build_integration:
     path: ../build_integration
diff --git a/pkg/front_end/test/constants/constant_test.dart b/pkg/front_end/test/constants/constant_test.dart
index d208927..7fbee80 100644
--- a/pkg/front_end/test/constants/constant_test.dart
+++ b/pkg/front_end/test/constants/constant_test.dart
@@ -12,6 +12,7 @@
         CfeDataExtractor,
         InternalCompilerResult,
         DataComputer,
+        FormattedMessage,
         cfeConstantUpdate2018Config,
         createUriForFileName,
         onFailure,
@@ -49,6 +50,15 @@
   }
 
   @override
+  bool get supportsErrors => true;
+
+  /// Returns data corresponding to [error].
+  String computeErrorData(
+      InternalCompilerResult compiler, Id id, List<FormattedMessage> errors) {
+    return errorsToText(errors);
+  }
+
+  @override
   DataInterpreter<String> get dataValidator => const StringDataInterpreter();
 }
 
diff --git a/pkg/front_end/test/constants/data/errors.dart b/pkg/front_end/test/constants/data/errors.dart
new file mode 100644
index 0000000..c25cead
--- /dev/null
+++ b/pkg/front_end/test/constants/data/errors.dart
@@ -0,0 +1,17 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+// ignore_for_file: const_initialized_with_non_constant_value
+
+// TODO(paulberry): Support testing errors in analyzer id testing.
+
+String method() => 'foo';
+
+const String string0 =
+    /*cfe|dart2js.error: Method invocation is not a constant expression.*/
+    method();
+
+main() {
+  print(string0);
+}
diff --git a/pkg/front_end/test/fasta/analyze_src_with_lints_test.dart b/pkg/front_end/test/fasta/analyze_src_with_lints_test.dart
new file mode 100644
index 0000000..8ede953
--- /dev/null
+++ b/pkg/front_end/test/fasta/analyze_src_with_lints_test.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+import "package:testing/src/run_tests.dart" as testing show main;
+
+main() async {
+  return await testing.main(<String>[
+    "--config=pkg/front_end/testing_with_lints.json",
+    "--verbose",
+    "analyze"
+  ]);
+}
diff --git a/pkg/front_end/test/fasta/fast_legacy_test.dart b/pkg/front_end/test/fasta/fast_legacy_test.dart
deleted file mode 100644
index 60eb337..0000000
--- a/pkg/front_end/test/fasta/fast_legacy_test.dart
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE.md file.
-
-library fasta.test.fast_legacy_test;
-
-import 'dart:async' show Future;
-
-import 'dart:io' show Platform;
-
-import 'testing/suite.dart';
-
-Future<FastaContext> createContext(
-    Chain suite, Map<String, String> environment) {
-  environment[ENABLE_FULL_COMPILE] = "";
-  environment[LEGACY_MODE] = "";
-  environment["skipVm"] = "true";
-  return FastaContext.create(suite, environment);
-}
-
-main([List<String> arguments = const []]) => runMe(arguments, createContext,
-    "../../testing.json", Platform.script.resolve("legacy_test.dart"));
diff --git a/pkg/front_end/test/fasta/flow_analysis/flow_analysis_test.dart b/pkg/front_end/test/fasta/flow_analysis/flow_analysis_test.dart
index 09d5720..ba4bae0 100644
--- a/pkg/front_end/test/fasta/flow_analysis/flow_analysis_test.dart
+++ b/pkg/front_end/test/fasta/flow_analysis/flow_analysis_test.dart
@@ -169,6 +169,113 @@
       expect(() => h.flow.finish(), _asserts);
     });
 
+    test('for_conditionBegin() un-promotes', () {
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      h.promote(x, 'int');
+      expect(h.flow.promotedType(x).type, 'int');
+      h.flow.for_conditionBegin({x});
+      expect(h.flow.promotedType(x), isNull);
+      h.flow.for_bodyBegin(_Statement(), _Expression());
+      h.flow.for_updaterBegin();
+      h.flow.for_end();
+      h.flow.finish();
+    });
+
+    test('for_bodyBegin() promotes', () {
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      h.flow.for_conditionBegin({});
+      h.flow.for_bodyBegin(_Statement(), h.notNull(x)());
+      expect(h.flow.promotedType(x).type, 'int');
+      h.flow.for_updaterBegin();
+      h.flow.for_end();
+      h.flow.finish();
+    });
+
+    test('for_bodyBegin() can be used with a null statement', () {
+      // This is needed for collection elements that are for-loops.
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      h.flow.for_conditionBegin({});
+      h.flow.for_bodyBegin(null, h.notNull(x)());
+      h.flow.for_updaterBegin();
+      h.flow.for_end();
+      h.flow.finish();
+    });
+
+    test('for_updaterBegin() joins current and continue states', () {
+      // To test that the states are properly joined, we have three variables:
+      // x, y, and z.  We promote x and y in the continue path, and x and z in
+      // the current path.  Inside the updater, only x should be promoted.
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      var y = h.addAssignedVar('y', 'int?');
+      var z = h.addAssignedVar('z', 'int?');
+      var stmt = _Statement();
+      h.flow.for_conditionBegin({});
+      h.flow.for_bodyBegin(stmt, h.expr());
+      h.if_(h.expr, () {
+        h.promote(x, 'int');
+        h.promote(y, 'int');
+        h.flow.handleContinue(stmt);
+      });
+      h.promote(x, 'int');
+      h.promote(z, 'int');
+      h.flow.for_updaterBegin();
+      expect(h.flow.promotedType(x).type, 'int');
+      expect(h.flow.promotedType(y), isNull);
+      expect(h.flow.promotedType(z), isNull);
+      h.flow.for_end();
+      h.flow.finish();
+    });
+
+    test('for_end() joins break and condition-false states', () {
+      // To test that the states are properly joined, we have three variables:
+      // x, y, and z.  We promote x and y in the break path, and x and z in the
+      // condition-false path.  After the loop, only x should be promoted.
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      var y = h.addAssignedVar('y', 'int?');
+      var z = h.addAssignedVar('z', 'int?');
+      var stmt = _Statement();
+      h.flow.for_conditionBegin({});
+      h.flow.for_bodyBegin(stmt, h.or(h.eqNull(x), h.eqNull(z))());
+      h.if_(h.expr, () {
+        h.promote(x, 'int');
+        h.promote(y, 'int');
+        h.flow.handleBreak(stmt);
+      });
+      h.flow.for_updaterBegin();
+      h.flow.for_end();
+      expect(h.flow.promotedType(x).type, 'int');
+      expect(h.flow.promotedType(y), isNull);
+      expect(h.flow.promotedType(z), isNull);
+      h.flow.finish();
+    });
+
+    test('forEach_bodyBegin() un-promotes', () {
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      h.promote(x, 'int');
+      expect(h.flow.promotedType(x).type, 'int');
+      h.flow.forEach_bodyBegin({x});
+      expect(h.flow.promotedType(x), isNull);
+      h.flow.forEach_end();
+      h.flow.finish();
+    });
+
+    test('forEach_end() restores state before loop', () {
+      var h = _Harness();
+      var x = h.addAssignedVar('x', 'int?');
+      h.flow.forEach_bodyBegin({});
+      h.promote(x, 'int');
+      expect(h.flow.promotedType(x).type, 'int');
+      h.flow.forEach_end();
+      expect(h.flow.promotedType(x), isNull);
+      h.flow.finish();
+    });
+
     test('ifStatement_end(false) keeps else branch if then branch exits', () {
       var h = _Harness();
       var x = h.addAssignedVar('x', 'int?');
diff --git a/pkg/front_end/test/fasta/legacy_test.dart b/pkg/front_end/test/fasta/legacy_test.dart
deleted file mode 100644
index ff28e5b..0000000
--- a/pkg/front_end/test/fasta/legacy_test.dart
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE.md file.
-
-library fasta.test.legacy_test;
-
-import 'dart:async' show Future;
-
-import 'testing/suite.dart';
-
-Future<FastaContext> createContext(
-    Chain suite, Map<String, String> environment) {
-  environment[ENABLE_FULL_COMPILE] = "";
-  environment[LEGACY_MODE] = "";
-  return FastaContext.create(suite, environment);
-}
-
-main([List<String> arguments = const []]) =>
-    runMe(arguments, createContext, "../../testing.json");
diff --git a/pkg/front_end/test/fasta/sdk_test.dart b/pkg/front_end/test/fasta/sdk_test.dart
index 515a243..6341091 100644
--- a/pkg/front_end/test/fasta/sdk_test.dart
+++ b/pkg/front_end/test/fasta/sdk_test.dart
@@ -11,7 +11,6 @@
 Future<FastaContext> createContext(
     Chain suite, Map<String, String> environment) async {
   environment[ENABLE_FULL_COMPILE] = "";
-  environment[LEGACY_MODE] = "";
   environment["skipVm"] ??= "true";
   environment["onlyCrashes"] ??= "true";
   environment["ignoreExpectations"] ??= "true";
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index 13f7666..420ed92 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -8,8 +8,9 @@
 
 import 'dart:convert' show jsonDecode;
 
-import 'dart:io' show File, Platform;
+import 'dart:io' show Directory, File, Platform;
 
+import 'package:front_end/src/api_prototype/compiler_options.dart';
 import 'package:kernel/ast.dart'
     show AwaitExpression, Component, Library, Node, Visitor;
 
@@ -85,8 +86,6 @@
 
 export 'package:testing/testing.dart' show Chain, runMe;
 
-const String LEGACY_MODE = " legacy mode ";
-
 const String ENABLE_FULL_COMPILE = " full compile ";
 
 const String EXPECTATIONS = '''
@@ -130,11 +129,18 @@
   return legacyMode ? "legacy" : "strong";
 }
 
+const String experimentalFlagOptions = '--enable-experiment=';
+
+class TestOptions {
+  final Map<ExperimentalFlag, bool> experimentalFlags;
+
+  TestOptions(this.experimentalFlags);
+}
+
 class FastaContext extends ChainContext with MatchContext {
   final UriTranslator uriTranslator;
   final List<Step> steps;
   final Uri vm;
-  final bool legacyMode;
   final bool onlyCrashes;
   final Map<ExperimentalFlag, bool> experimentalFlags;
   final bool skipVm;
@@ -143,6 +149,7 @@
   final Map<Component, StringBuffer> componentToDiagnostics =
       <Component, StringBuffer>{};
   final Uri platformBinaries;
+  final Map<Uri, TestOptions> _testOptions = {};
 
   @override
   final bool updateExpectations;
@@ -157,7 +164,6 @@
 
   FastaContext(
       this.vm,
-      this.legacyMode,
       this.platformBinaries,
       this.onlyCrashes,
       this.experimentalFlags,
@@ -169,30 +175,24 @@
       this.uriTranslator,
       bool fullCompile)
       : steps = <Step>[
-          new Outline(fullCompile, legacyMode, updateComments: updateComments),
+          new Outline(fullCompile, updateComments: updateComments),
           const Print(),
           new Verify(fullCompile)
         ] {
     if (!ignoreExpectations) {
-      steps.add(new MatchExpectation(fullCompile
-          ? ".${generateExpectationName(legacyMode)}.expect"
-          : ".outline.expect"));
+      steps.add(new MatchExpectation(
+          fullCompile ? ".strong.expect" : ".outline.expect"));
     }
-    if (!legacyMode) {
-      steps.add(const TypeCheck());
-    }
+    steps.add(const TypeCheck());
     steps.add(const EnsureNoErrors());
     if (kernelTextSerialization) {
       steps.add(const KernelTextSerialization());
     }
-    if (legacyMode && !fullCompile) {
-      steps.add(new MatchHierarchy());
-    }
     if (fullCompile) {
       steps.add(const Transform());
       if (!ignoreExpectations) {
         steps.add(new MatchExpectation(fullCompile
-            ? ".${generateExpectationName(legacyMode)}.transformed.expect"
+            ? ".strong.transformed.expect"
             : ".outline.transformed.expect"));
       }
       steps.add(const EnsureNoErrors());
@@ -203,12 +203,46 @@
     }
   }
 
+  /// Computes the experimental flag for [description].
+  ///
+  /// [forcedExperimentalFlags] is used to override the default flags for
+  /// [description].
+  Map<ExperimentalFlag, bool> computeExperimentalFlags(
+      TestDescription description,
+      Map<ExperimentalFlag, bool> forcedExperimentalFlags) {
+    Directory directory = new File.fromUri(description.uri).parent;
+    // TODO(johnniwinther): Support nested test folders?
+    TestOptions testOptions = _testOptions[directory.uri];
+    if (testOptions == null) {
+      List<String> experimentalFlagsArguments = [];
+      File optionsFile =
+          new File.fromUri(directory.uri.resolve('test.options'));
+      if (optionsFile.existsSync()) {
+        for (String line in optionsFile.readAsStringSync().split('\n')) {
+          // TODO(johnniwinther): Support more options if need.
+          if (line.startsWith(experimentalFlagOptions)) {
+            experimentalFlagsArguments =
+                line.substring(experimentalFlagOptions.length).split('\n');
+          }
+        }
+      }
+      testOptions = new TestOptions(parseExperimentalFlags(
+          parseExperimentalArguments(experimentalFlagsArguments),
+          onError: (String message) => throw new ArgumentError(message),
+          onWarning: (String message) => throw new ArgumentError(message)));
+      _testOptions[directory.uri] = testOptions;
+    }
+    Map<ExperimentalFlag, bool> flags =
+        new Map.from(testOptions.experimentalFlags);
+    flags.addAll(forcedExperimentalFlags);
+    return flags;
+  }
+
   Expectation get verificationError => expectationSet["VerificationError"];
 
   Future ensurePlatformUris() async {
     if (platformUri == null) {
-      platformUri = platformBinaries
-          .resolve(legacyMode ? "vm_platform.dill" : "vm_platform_strong.dill");
+      platformUri = platformBinaries.resolve("vm_platform_strong.dill");
     }
   }
 
@@ -248,17 +282,19 @@
     Uri sdk = Uri.base.resolve("sdk/");
     Uri vm = Uri.base.resolveUri(new Uri.file(Platform.resolvedExecutable));
     Uri packages = Uri.base.resolve(".packages");
-    bool legacyMode = environment.containsKey(LEGACY_MODE);
-    Map<ExperimentalFlag, bool> experimentalFlags = <ExperimentalFlag, bool>{
-      ExperimentalFlag.controlFlowCollections:
-          environment["enableControlFlowCollections"] != "false" && !legacyMode,
-      ExperimentalFlag.spreadCollections:
-          environment["enableSpreadCollections"] != "false" && !legacyMode,
-      ExperimentalFlag.extensionMethods:
-          environment["enableExtensionMethods"] != "false" && !legacyMode,
-      ExperimentalFlag.nonNullable:
-          environment["enableNonNullable"] != "false" && !legacyMode,
-    };
+    Map<ExperimentalFlag, bool> experimentalFlags = <ExperimentalFlag, bool>{};
+
+    void addForcedExperimentalFlag(String name, ExperimentalFlag flag) {
+      if (environment.containsKey(name)) {
+        experimentalFlags[flag] = environment[name] == "true";
+      }
+    }
+
+    addForcedExperimentalFlag(
+        "enableExtensionMethods", ExperimentalFlag.extensionMethods);
+    addForcedExperimentalFlag(
+        "enableNonNullable", ExperimentalFlag.nonNullable);
+
     var options = new ProcessedOptions(
         options: new CompilerOptions()
           ..onDiagnostic = (DiagnosticMessage message) {
@@ -282,7 +318,6 @@
     }
     return new FastaContext(
         vm,
-        legacyMode,
         platformBinaries == null
             ? computePlatformBinariesLocation(forceBuildDir: true)
             : Uri.base.resolve(platformBinaries),
@@ -328,10 +363,7 @@
 class Outline extends Step<TestDescription, Component, FastaContext> {
   final bool fullCompile;
 
-  final bool legacyMode;
-
-  const Outline(this.fullCompile, this.legacyMode,
-      {this.updateComments: false});
+  const Outline(this.fullCompile, {this.updateComments: false});
 
   final bool updateComments;
 
@@ -346,7 +378,6 @@
     StringBuffer errors = new StringBuffer();
     ProcessedOptions options = new ProcessedOptions(
         options: new CompilerOptions()
-          ..legacyMode = legacyMode
           ..onDiagnostic = (DiagnosticMessage message) {
             if (errors.isNotEmpty) {
               errors.write("\n\n");
@@ -354,7 +385,8 @@
             errors.writeAll(message.plainTextFormatted, "\n");
           }
           ..environmentDefines = {}
-          ..experimentalFlags = context.experimentalFlags,
+          ..experimentalFlags = context.computeExperimentalFlags(
+              description, context.experimentalFlags),
         inputs: <Uri>[description.uri]);
     return await CompilerContext.runWithOptions(options, (_) async {
       // Disable colors to ensure that expectation files are the same across
@@ -362,8 +394,8 @@
       CompilerContext.current.disableColors();
       Component platform = await context.loadPlatform();
       Ticker ticker = new Ticker();
-      DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator,
-          new TestVmTarget(new TargetFlags(legacyMode: legacyMode)));
+      DillTarget dillTarget = new DillTarget(
+          ticker, context.uriTranslator, new TestVmTarget(new TargetFlags()));
       dillTarget.loader.appendLibraries(platform);
       // We create a new URI translator to avoid reading platform libraries from
       // file system.
@@ -376,11 +408,9 @@
       sourceTarget.setEntryPoints(<Uri>[description.uri]);
       await dillTarget.buildOutlines();
       ValidatingInstrumentation instrumentation;
-      if (!legacyMode) {
-        instrumentation = new ValidatingInstrumentation();
-        await instrumentation.loadExpectations(description.uri);
-        sourceTarget.loader.instrumentation = instrumentation;
-      }
+      instrumentation = new ValidatingInstrumentation();
+      await instrumentation.loadExpectations(description.uri);
+      sourceTarget.loader.instrumentation = instrumentation;
       Component p = await sourceTarget.buildOutlines();
       context.componentToTarget.clear();
       context.componentToTarget[p] = sourceTarget;
diff --git a/pkg/front_end/test/flow_analysis/definite_assignment/data/for.dart b/pkg/front_end/test/flow_analysis/definite_assignment/data/for.dart
index ecf3808..37d9284 100644
--- a/pkg/front_end/test/flow_analysis/definite_assignment/data/for.dart
+++ b/pkg/front_end/test/flow_analysis/definite_assignment/data/for.dart
@@ -88,3 +88,38 @@
     v = 0;
   }
 }
+
+collection_for_body(bool c) {
+  late int v;
+  [for (; c;) (v = 0)];
+  /*unassigned*/ v;
+}
+
+collection_for_condition() {
+  late int v;
+  [for (; (v = 0) >= 0;) null];
+  v;
+}
+
+collection_for_initializer_expression() {
+  late int v;
+  [for (v = 0;;) v];
+  v;
+}
+
+collection_for_initializer_variable() {
+  late int v;
+  [for (var t = (v = 0);;) v];
+  v;
+}
+
+collection_for_updaters(bool c) {
+  late int v1, v2, v3, v4;
+  [for (; c; v1 = 0, v2 = 0, v3 = 0, /*unassigned*/ v4) /*unassigned*/ v1];
+  /*unassigned*/ v2;
+}
+
+collection_for_updaters_afterBody(bool c) {
+  late int v;
+  [for (; c; v) (v = 0)];
+}
diff --git a/pkg/front_end/test/flow_analysis/definite_assignment/data/for_each.dart b/pkg/front_end/test/flow_analysis/definite_assignment/data/for_each.dart
index ab029d8..57a41f8 100644
--- a/pkg/front_end/test/flow_analysis/definite_assignment/data/for_each.dart
+++ b/pkg/front_end/test/flow_analysis/definite_assignment/data/for_each.dart
@@ -32,3 +32,10 @@
   /*unassigned*/ v1;
   /*unassigned*/ v2;
 }
+
+collection_forEach() {
+  late Object v1, v2;
+  [for (var _ in (v1 = [0, 1, 2])) (v2 = 0)];
+  v1;
+  /*unassigned*/ v2;
+}
diff --git a/pkg/front_end/test/flow_analysis/reachability/data/for.dart b/pkg/front_end/test/flow_analysis/reachability/data/for.dart
index 9d09dbf..602c454 100644
--- a/pkg/front_end/test/flow_analysis/reachability/data/for.dart
+++ b/pkg/front_end/test/flow_analysis/reachability/data/for.dart
@@ -25,3 +25,15 @@
   }
   2;
 }
+
+/*member: collection_condition_true:doesNotComplete*/
+void collection_condition_true() {
+  [for (; true;) 1];
+  /*stmt: unreachable*/ 2;
+}
+
+/*member: collection_condition_true_implicit:doesNotComplete*/
+void collection_condition_true_implicit() {
+  [for (;;) 1];
+  /*stmt: unreachable*/ 2;
+}
diff --git a/pkg/front_end/test/flow_analysis/type_promotion/data/conditional.dart b/pkg/front_end/test/flow_analysis/type_promotion/data/conditional.dart
index d138147..d1bb106 100644
--- a/pkg/front_end/test/flow_analysis/type_promotion/data/conditional.dart
+++ b/pkg/front_end/test/flow_analysis/type_promotion/data/conditional.dart
@@ -16,3 +16,6 @@
   b ? ((x is num) || (throw 1)) : 0;
   x;
 }
+
+int conditional_in_expression_function_body(Object o) =>
+    o is int ? /*int*/ o : 0;
diff --git a/pkg/front_end/test/flow_analysis/type_promotion/data/for.dart b/pkg/front_end/test/flow_analysis/type_promotion/data/for.dart
index 33f49a6..19c4b8f 100644
--- a/pkg/front_end/test/flow_analysis/type_promotion/data/for.dart
+++ b/pkg/front_end/test/flow_analysis/type_promotion/data/for.dart
@@ -56,3 +56,46 @@
     x;
   }
 }
+
+void collection_for_declaredVar() {
+  [for (Object x = g(); x is int; x = g()) /*int*/ x ];
+}
+
+void collection_for_outerIsType(bool b, Object x) {
+  if (x is String) {
+    [for (; b;) /*String*/ x ];
+    /*String*/ x;
+  }
+}
+
+void collection_for_outerIsType_loopAssigned_body(bool b, Object x) {
+  if (x is String) {
+    [
+      for (; b;) [x, (x = 42)]
+    ];
+    x;
+  }
+}
+
+void collection_for_outerIsType_loopAssigned_condition(Object x) {
+  if (x is String) {
+    [for (; (x = 42) > 0;) x];
+    x;
+  }
+}
+
+void collection_for_outerIsType_loopAssigned_updaters(bool b, Object x) {
+  if (x is String) {
+    [for (; b; x = 42) x];
+    x;
+  }
+}
+
+void collection_forEach_outerIsType_loopAssigned(Object x) {
+  if (x is String) {
+    [
+      for (var _ in [0, 1, 2]) [x, (x = 42)]
+    ];
+    x;
+  }
+}
diff --git a/pkg/front_end/test/lint_test.dart b/pkg/front_end/test/lint_test.dart
index 7da98a7..f39f95c7 100644
--- a/pkg/front_end/test/lint_test.dart
+++ b/pkg/front_end/test/lint_test.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async' show Future;
 
-import 'dart:io' show File;
+import 'dart:io' show Directory, File, FileSystemEntity;
 
 import 'dart:typed_data' show Uint8List;
 
@@ -24,8 +24,12 @@
 
 import 'package:kernel/kernel.dart';
 
+import 'package:package_config/packages.dart' show Packages;
+
+import 'package:package_config/discovery.dart' show loadPackagesFile;
+
 import 'package:testing/testing.dart'
-    show ChainContext, Result, Step, TestDescription, Chain, runMe;
+    show Chain, ChainContext, Result, Step, TestDescription, runMe;
 
 main([List<String> arguments = const []]) =>
     runMe(arguments, createContext, "../testing.json");
@@ -35,9 +39,40 @@
   return new Context();
 }
 
+class LintTestDescription extends TestDescription {
+  final String shortName;
+  final Uri uri;
+  final LintTestCache cache;
+  final LintListener listener;
+
+  LintTestDescription(this.shortName, this.uri, this.cache, this.listener) {
+    this.listener.description = this;
+    this.listener.uri = uri;
+  }
+
+  String getErrorMessage(int offset, int squigglyLength, String message) {
+    cache.source ??= new Source(cache.lineStarts, cache.rawBytes, uri, uri);
+    Location location = cache.source.getLocation(uri, offset);
+    return command_line_reporting.formatErrorMessage(
+        cache.source.getTextLine(location.line),
+        location,
+        squigglyLength,
+        uri.toString(),
+        message);
+  }
+}
+
+class LintTestCache {
+  List<int> rawBytes;
+  List<int> lineStarts;
+  Source source;
+  Token firstToken;
+  Packages packages;
+}
+
 class Context extends ChainContext {
   final List<Step> steps = const <Step>[
-    const LintTest(),
+    const LintStep(),
   ];
 
   // Override special handling of negative tests.
@@ -47,73 +82,116 @@
     return result;
   }
 
-  List<int> rawBytes;
-  String cachedText;
-  List<int> lineStarts;
-  Uri uri;
+  Stream<LintTestDescription> list(Chain suite) async* {
+    Directory testRoot = new Directory.fromUri(suite.uri);
+    if (await testRoot.exists()) {
+      Stream<FileSystemEntity> files =
+          testRoot.list(recursive: true, followLinks: false);
+      await for (FileSystemEntity entity in files) {
+        if (entity is! File) continue;
+        String path = entity.uri.path;
+        if (suite.exclude.any((RegExp r) => path.contains(r))) continue;
+        if (suite.pattern.any((RegExp r) => path.contains(r))) {
+          Uri root = suite.uri;
+          String baseName = "${entity.uri}".substring("$root".length);
+          baseName = baseName.substring(0, baseName.length - ".dart".length);
+          LintTestCache cache = new LintTestCache();
 
-  void clear() {
-    rawBytes = null;
-    cachedText = null;
-    lineStarts = null;
-    uri = null;
-  }
+          yield new LintTestDescription(
+            "$baseName/ExplicitType",
+            entity.uri,
+            cache,
+            new ExplicitTypeLintListener(),
+          );
 
-  String getErrorMessage(int offset, int squigglyLength, String message) {
-    Source source = new Source(lineStarts, rawBytes, uri, uri);
-    Location location = source.getLocation(uri, offset);
-    return command_line_reporting.formatErrorMessage(
-        source.getTextLine(location.line),
-        location,
-        squigglyLength,
-        uri.toString(),
-        message);
+          yield new LintTestDescription(
+            "$baseName/ImportsTwice",
+            entity.uri,
+            cache,
+            new ImportsTwiceLintListener(),
+          );
+
+          Uri apiUnstableUri =
+              Uri.base.resolve("pkg/front_end/lib/src/api_unstable/");
+          if (!entity.uri.toString().startsWith(apiUnstableUri.toString())) {
+            yield new LintTestDescription(
+              "$baseName/Exports",
+              entity.uri,
+              cache,
+              new ExportsLintListener(),
+            );
+          }
+        }
+      }
+    } else {
+      throw "${suite.uri} isn't a directory";
+    }
   }
 }
 
-class LintTest extends Step<TestDescription, TestDescription, Context> {
-  const LintTest();
+class LintStep extends Step<LintTestDescription, LintTestDescription, Context> {
+  const LintStep();
 
-  String get name => "lint test";
+  String get name => "lint";
 
-  Future<Result<TestDescription>> run(
-      TestDescription description, Context context) async {
-    context.clear();
-    context.uri = description.uri;
+  Future<Result<LintTestDescription>> run(
+      LintTestDescription description, Context context) async {
+    if (description.cache.rawBytes == null) {
+      File f = new File.fromUri(description.uri);
+      description.cache.rawBytes = f.readAsBytesSync();
 
-    File f = new File.fromUri(context.uri);
-    context.rawBytes = f.readAsBytesSync();
+      Uint8List bytes = new Uint8List(description.cache.rawBytes.length + 1);
+      bytes.setRange(
+          0, description.cache.rawBytes.length, description.cache.rawBytes);
 
-    Uint8List bytes = new Uint8List(context.rawBytes.length + 1);
-    bytes.setRange(0, context.rawBytes.length, context.rawBytes);
+      Utf8BytesScanner scanner =
+          new Utf8BytesScanner(bytes, includeComments: true);
+      description.cache.firstToken = scanner.tokenize();
+      description.cache.lineStarts = scanner.lineStarts;
 
-    Utf8BytesScanner scanner =
-        new Utf8BytesScanner(bytes, includeComments: true);
-    Token firstToken = scanner.tokenize();
-    context.lineStarts = scanner.lineStarts;
+      Uri dotPackages = description.uri.resolve(".packages");
+      while (true) {
+        if (new File.fromUri(dotPackages).existsSync()) {
+          break;
+        }
+        // Stupid bailout.
+        if (dotPackages.pathSegments.length < Uri.base.pathSegments.length) {
+          break;
+        }
+        dotPackages = dotPackages.resolve("../.packages");
+      }
 
-    if (firstToken == null) return null;
-    List<String> problems;
-    LintListener lintListener =
-        new LintListener((int offset, int squigglyLength, String message) {
-      problems ??= new List<String>();
-      problems.add(context.getErrorMessage(offset, squigglyLength, message));
-    });
-    Parser parser = new Parser(lintListener);
-    parser.parseUnit(firstToken);
+      File dotPackagesFile = new File.fromUri(dotPackages);
+      if (dotPackagesFile.existsSync()) {
+        description.cache.packages = await loadPackagesFile(dotPackages);
+      }
+    }
 
-    if (problems == null) {
+    if (description.cache.firstToken == null) {
+      return crash(description, StackTrace.current);
+    }
+
+    Parser parser = new Parser(description.listener);
+    parser.parseUnit(description.cache.firstToken);
+
+    if (description.listener.problems.isEmpty) {
       return pass(description);
     }
-    return fail(description, problems.join("\n\n"));
+    return fail(description, description.listener.problems.join("\n\n"));
   }
 }
 
 class LintListener extends Listener {
-  final Function(int offset, int squigglyLength, String message) onProblem;
+  List<String> problems = new List<String>();
+  LintTestDescription description;
+  Uri uri;
 
-  LintListener(this.onProblem);
+  onProblem(int offset, int squigglyLength, String message) {
+    problems.add(description.getErrorMessage(offset, squigglyLength, message));
+  }
+}
 
+class ExplicitTypeLintListener extends LintListener {
   LatestType _latestType;
 
   @override
@@ -134,6 +212,28 @@
   void handleNoType(Token lastConsumed) {
     _latestType = new LatestType(lastConsumed, false);
   }
+
+  void endTopLevelFields(
+      Token staticToken,
+      Token covariantToken,
+      Token lateToken,
+      Token varFinalOrConst,
+      int count,
+      Token beginToken,
+      Token endToken) {
+    if (!_latestType.type) {
+      onProblem(
+          varFinalOrConst.offset, varFinalOrConst.length, "No explicit type.");
+    }
+  }
+
+  void endFields(Token staticToken, Token covariantToken, Token lateToken,
+      Token varFinalOrConst, int count, Token beginToken, Token endToken) {
+    if (!_latestType.type) {
+      onProblem(
+          varFinalOrConst.offset, varFinalOrConst.length, "No explicit type.");
+    }
+  }
 }
 
 class LatestType {
@@ -142,3 +242,47 @@
 
   LatestType(this.token, this.type);
 }
+
+class ImportsTwiceLintListener extends LintListener {
+  Set<Uri> seenImports = new Set<Uri>();
+
+  void endImport(Token importKeyword, Token semicolon) {
+    Token importUriToken = importKeyword.next;
+    String importUri = importUriToken.lexeme;
+    if (importUri.startsWith("r")) {
+      importUri = importUri.substring(2, importUri.length - 1);
+    } else {
+      importUri = importUri.substring(1, importUri.length - 1);
+    }
+    Uri resolved = uri.resolve(importUri);
+    if (resolved.scheme == "package") {
+      if (description.cache.packages != null) {
+        resolved = description.cache.packages.resolve(resolved);
+      }
+    }
+    if (!seenImports.add(resolved)) {
+      onProblem(importUriToken.offset, importUriToken.lexeme.length,
+          "Uri '$resolved' already imported once.");
+    }
+  }
+}
+
+class ExportsLintListener extends LintListener {
+  void endExport(Token exportKeyword, Token semicolon) {
+    Token exportUriToken = exportKeyword.next;
+    String exportUri = exportUriToken.lexeme;
+    if (exportUri.startsWith("r")) {
+      exportUri = exportUri.substring(2, exportUri.length - 1);
+    } else {
+      exportUri = exportUri.substring(1, exportUri.length - 1);
+    }
+    Uri resolved = uri.resolve(exportUri);
+    if (resolved.scheme == "package") {
+      if (description.cache.packages != null) {
+        resolved = description.cache.packages.resolve(resolved);
+      }
+    }
+    onProblem(exportUriToken.offset, exportUriToken.lexeme.length,
+        "Exports disallowed internally.");
+  }
+}
diff --git a/pkg/front_end/test/lint_test.status b/pkg/front_end/test/lint_test.status
index e22cfe5..7d72c5b 100644
--- a/pkg/front_end/test/lint_test.status
+++ b/pkg/front_end/test/lint_test.status
@@ -1,3 +1,37 @@
 # Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE.md file.
+
+src/api_unstable/bazel_worker/ImportsTwice: Fail
+src/fasta/builder/class_builder/ImportsTwice: Fail
+src/fasta/builder/field_builder/ImportsTwice: Fail
+src/fasta/builder/prefix_builder/ImportsTwice: Fail
+src/fasta/builder/procedure_builder/ImportsTwice: Fail
+src/fasta/incremental_compiler/ImportsTwice: Fail
+src/fasta/kernel/body_builder/ImportsTwice: Fail
+src/fasta/kernel/expression_generator_helper/ImportsTwice: Fail
+src/fasta/kernel/kernel_shadow_ast/ImportsTwice: Fail
+src/fasta/parser/parser/ImportsTwice: Fail
+src/fasta/scanner/abstract_scanner/ImportsTwice: Fail
+src/fasta/scanner/recover/ImportsTwice: Fail
+src/fasta/scanner/string_scanner/ImportsTwice: Fail
+src/fasta/scanner/token/ImportsTwice: Fail
+src/fasta/scanner/utf8_bytes_scanner/ImportsTwice: Fail
+src/fasta/source/value_kinds/ImportsTwice: Fail
+src/fasta/type_inference/type_constraint_gatherer/ImportsTwice: Fail
+src/fasta/type_inference/type_inferrer/ImportsTwice: Fail
+
+src/api_prototype/compiler_options/Exports: Fail
+src/api_prototype/constant_evaluator/Exports: Fail
+src/api_prototype/front_end/Exports: Fail
+src/fasta/builder/builder/Exports: Fail
+src/fasta/kernel/constant_evaluator/ExplicitType: Pass
+src/fasta/kernel/kernel_api/Exports: Fail
+src/fasta/kernel/kernel_ast_api/Exports: Fail
+src/fasta/kernel/kernel_builder/Exports: Fail
+src/fasta/kernel/type_algorithms/Exports: Fail
+src/fasta/messages/Exports: Fail
+src/fasta/parser/Exports: Fail
+src/fasta/scanner/Exports: Fail
+src/fasta/source/scope_listener/Exports: Fail
+src/testing/id_testing_helper/Exports: Fail
diff --git a/pkg/front_end/test/spell_checking_list_common.txt b/pkg/front_end/test/spell_checking_list_common.txt
index c608525..0b43a76 100644
--- a/pkg/front_end/test/spell_checking_list_common.txt
+++ b/pkg/front_end/test/spell_checking_list_common.txt
@@ -565,6 +565,7 @@
 controller
 convenience
 convenient
+conventional
 conventions
 convert
 converted
@@ -872,6 +873,7 @@
 ensuring
 entails
 enter
+entered
 entering
 entire
 entirely
@@ -1059,12 +1061,14 @@
 fold
 folded
 folder
+folders
 follow
 followed
 following
 follows
 for
 force
+forced
 forest
 forget
 fork
@@ -1554,6 +1558,7 @@
 lookup
 lookups
 loop
+loop's
 looping
 loops
 loosely
@@ -1794,6 +1799,7 @@
 ones
 only
 onto
+opaque
 open
 opener
 openers
@@ -2239,6 +2245,7 @@
 rest
 restore
 restored
+restores
 restrict
 restricted
 result
diff --git a/pkg/front_end/test/spell_checking_list_tests.txt b/pkg/front_end/test/spell_checking_list_tests.txt
index df8d7bd..18a1ce4 100644
--- a/pkg/front_end/test/spell_checking_list_tests.txt
+++ b/pkg/front_end/test/spell_checking_list_tests.txt
@@ -32,6 +32,7 @@
 b2x
 ba
 backed
+bailout
 bash
 bat
 batch
@@ -111,6 +112,7 @@
 dills
 dirname
 disagree
+disallowed
 disconnect
 discovering
 dispatcher
@@ -226,6 +228,7 @@
 lightly
 likewise
 linebreaks
+lints
 linux
 listening
 ll
@@ -344,6 +347,7 @@
 strongest
 structures
 stub's
+stupid
 subcommand
 subscription
 subtool
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.legacy.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.legacy.expect
deleted file mode 100644
index 6763e94..0000000
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.legacy.expect
+++ /dev/null
@@ -1,313 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:24: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension on Class {
-//                        ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:24: Error: 'Class' is already declared in this scope.
-// extension Extension on Class {
-//                        ^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:5:7: Context: Previous declaration of 'Class'.
-// class Class {
-//       ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension GenericExtension<T> on GenericClass<T> {
-//           ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:31: Error: Expected '{' before this.
-// extension GenericExtension<T> on GenericClass<T> {
-//                               ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:34: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension GenericExtension<T> on GenericClass<T> {
-//                                  ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:34: Error: 'GenericClass' is already declared in this scope.
-// extension GenericExtension<T> on GenericClass<T> {
-//                                  ^^^^^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:69:7: Context: Previous declaration of 'GenericClass'.
-// class GenericClass<T> {
-//       ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:1: Warning: Type 'extension' not found.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:21: Warning: Type 'on' not found.
-// extension Extension on Class {
-//                     ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:1: Warning: Type 'extension' not found.
-// extension GenericExtension<T> on GenericClass<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:31: Warning: Type 'on' not found.
-// extension GenericExtension<T> on GenericClass<T> {
-//                               ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:1: Warning: 'extension' isn't a type.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:11:12: Warning: Getter not found: 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:15:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:19:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:23:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:26:3: Error: Expected ';' after this.
-//   get tearOffGetterNoArgs => readGetter;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:26:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterNoArgs => readGetter;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:26:27: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNoArgs => readGetter;
-//                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:27:3: Error: Expected ';' after this.
-//   get tearOffGetterRequired => writeSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:27:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterRequired => writeSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:27:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterRequired => writeSetterRequired;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:28:3: Error: Expected ';' after this.
-//   get tearOffGetterOptional => writeSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:28:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterOptional => writeSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:28:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterOptional => writeSetterOptional;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:29:3: Error: Expected ';' after this.
-//   get tearOffGetterNamed => writeSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:29:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterNamed => writeSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:29:26: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNamed => writeSetterNamed;
-//                          ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:3: Error: Expected ';' after this.
-//   get property => this.field;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:3: Warning: Getter not found: 'get'.
-//   get property => this.field;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:7: Error: Can't declare 'property' because it was already used in this scope.
-//   get property => this.field;
-//       ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:11:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:16: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get property => this.field;
-//                ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:19: Error: Expected identifier, but got 'this'.
-//   get property => this.field;
-//                   ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:33:3: Error: Unexpected token 'set'.
-//   set property(value) {
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:33:7: Error: Can't declare 'property' because it was already used in this scope.
-//   set property(value) {
-//       ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:11:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:34:5: Error: Expected identifier, but got 'this'.
-//     this.field = value;
-//     ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:75:12: Warning: Getter not found: 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:79:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:83:4: Warning: Setter not found: 'property'.
-//    property = value;
-//    ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:87:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:91:4: Warning: Setter not found: 'property'.
-//    property = value;
-//    ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:95:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:99:4: Warning: Setter not found: 'property'.
-//    property = value;
-//    ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:5: Error: Expected ';' after this.
-//   T get property => this.field;
-//     ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:9: Error: Can't declare 'property' because it was already used in this scope.
-//   T get property => this.field;
-//         ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:75:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:18: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   T get property => this.field;
-//                  ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:21: Error: Expected identifier, but got 'this'.
-//   T get property => this.field;
-//                     ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:104:8: Error: Expected ';' after this.
-//   void set property(T value) {
-//        ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:104:12: Error: Can't declare 'property' because it was already used in this scope.
-//   void set property(T value) {
-//            ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:75:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:105:5: Error: Expected identifier, but got 'this'.
-//     this.field = value;
-//     ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:108:3: Error: Expected ';' after this.
-//   get tearOffGetterNoArgs => readGetter;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:108:27: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNoArgs => readGetter;
-//                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:109:3: Error: Expected ';' after this.
-//   get tearOffGetterRequired => writeSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:109:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterRequired => writeSetterRequired;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:110:3: Error: Expected ';' after this.
-//   get tearOffGetterOptional => writeSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:110:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterOptional => writeSetterOptional;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:111:3: Error: Expected ';' after this.
-//   get tearOffGetterNamed => writeSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:111:26: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNamed => writeSetterNamed;
-//                          ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:112:3: Error: Expected ';' after this.
-//   get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:112:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:113:3: Error: Expected ';' after this.
-//   get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:113:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:114:3: Error: Expected ';' after this.
-//   get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:114:33: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//                                 ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-}
-class GenericClass<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::GenericClass::T* field = null;
-  synthetic constructor •() → self::GenericClass<self::GenericClass::T*>*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type Extension;
-static method GenericExtension<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.legacy.transformed.expect
deleted file mode 100644
index 6763e94..0000000
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,313 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:24: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension on Class {
-//                        ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:24: Error: 'Class' is already declared in this scope.
-// extension Extension on Class {
-//                        ^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:5:7: Context: Previous declaration of 'Class'.
-// class Class {
-//       ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension GenericExtension<T> on GenericClass<T> {
-//           ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:31: Error: Expected '{' before this.
-// extension GenericExtension<T> on GenericClass<T> {
-//                               ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:34: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension GenericExtension<T> on GenericClass<T> {
-//                                  ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:34: Error: 'GenericClass' is already declared in this scope.
-// extension GenericExtension<T> on GenericClass<T> {
-//                                  ^^^^^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:69:7: Context: Previous declaration of 'GenericClass'.
-// class GenericClass<T> {
-//       ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:1: Warning: Type 'extension' not found.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:21: Warning: Type 'on' not found.
-// extension Extension on Class {
-//                     ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:1: Warning: Type 'extension' not found.
-// extension GenericExtension<T> on GenericClass<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:73:31: Warning: Type 'on' not found.
-// extension GenericExtension<T> on GenericClass<T> {
-//                               ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:9:1: Warning: 'extension' isn't a type.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:11:12: Warning: Getter not found: 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:15:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:19:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:23:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:26:3: Error: Expected ';' after this.
-//   get tearOffGetterNoArgs => readGetter;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:26:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterNoArgs => readGetter;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:26:27: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNoArgs => readGetter;
-//                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:27:3: Error: Expected ';' after this.
-//   get tearOffGetterRequired => writeSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:27:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterRequired => writeSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:27:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterRequired => writeSetterRequired;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:28:3: Error: Expected ';' after this.
-//   get tearOffGetterOptional => writeSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:28:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterOptional => writeSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:28:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterOptional => writeSetterOptional;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:29:3: Error: Expected ';' after this.
-//   get tearOffGetterNamed => writeSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:29:3: Warning: Getter not found: 'get'.
-//   get tearOffGetterNamed => writeSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:29:26: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNamed => writeSetterNamed;
-//                          ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:3: Error: Expected ';' after this.
-//   get property => this.field;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:3: Warning: Getter not found: 'get'.
-//   get property => this.field;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:7: Error: Can't declare 'property' because it was already used in this scope.
-//   get property => this.field;
-//       ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:11:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:16: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get property => this.field;
-//                ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:31:19: Error: Expected identifier, but got 'this'.
-//   get property => this.field;
-//                   ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:33:3: Error: Unexpected token 'set'.
-//   set property(value) {
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:33:7: Error: Can't declare 'property' because it was already used in this scope.
-//   set property(value) {
-//       ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:11:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:34:5: Error: Expected identifier, but got 'this'.
-//     this.field = value;
-//     ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:75:12: Warning: Getter not found: 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:79:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:83:4: Warning: Setter not found: 'property'.
-//    property = value;
-//    ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:87:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:91:4: Warning: Setter not found: 'property'.
-//    property = value;
-//    ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:95:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:99:4: Warning: Setter not found: 'property'.
-//    property = value;
-//    ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:5: Error: Expected ';' after this.
-//   T get property => this.field;
-//     ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:9: Error: Can't declare 'property' because it was already used in this scope.
-//   T get property => this.field;
-//         ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:75:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:18: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   T get property => this.field;
-//                  ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:102:21: Error: Expected identifier, but got 'this'.
-//   T get property => this.field;
-//                     ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:104:8: Error: Expected ';' after this.
-//   void set property(T value) {
-//        ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:104:12: Error: Can't declare 'property' because it was already used in this scope.
-//   void set property(T value) {
-//            ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:75:12: Context: Previous use of 'property'.
-//     return property;
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:105:5: Error: Expected identifier, but got 'this'.
-//     this.field = value;
-//     ^^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:108:3: Error: Expected ';' after this.
-//   get tearOffGetterNoArgs => readGetter;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:108:27: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNoArgs => readGetter;
-//                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:109:3: Error: Expected ';' after this.
-//   get tearOffGetterRequired => writeSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:109:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterRequired => writeSetterRequired;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:110:3: Error: Expected ';' after this.
-//   get tearOffGetterOptional => writeSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:110:29: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterOptional => writeSetterOptional;
-//                             ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:111:3: Error: Expected ';' after this.
-//   get tearOffGetterNamed => writeSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:111:26: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterNamed => writeSetterNamed;
-//                          ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:112:3: Error: Expected ';' after this.
-//   get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:112:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:113:3: Error: Expected ';' after this.
-//   get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:113:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:114:3: Error: Expected ';' after this.
-//   get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//   ^^^
-//
-// pkg/front_end/testcases/extensions/direct_instance_access.dart:114:33: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//                                 ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-}
-class GenericClass<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::GenericClass::T* field = null;
-  synthetic constructor •() → self::GenericClass<self::GenericClass::T*>*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type Extension;
-static method GenericExtension<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.legacy.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.legacy.expect
deleted file mode 100644
index 35073da..0000000
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.legacy.expect
+++ /dev/null
@@ -1,366 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension<T> on Class<T> {
-//           ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:24: Error: Expected '{' before this.
-// extension Extension<T> on Class<T> {
-//                        ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:27: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension<T> on Class<T> {
-//                           ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:27: Error: 'Class' is already declared in this scope.
-// extension Extension<T> on Class<T> {
-//                           ^^^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:5:7: Context: Previous declaration of 'Class'.
-// class Class<T> {
-//       ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:1: Warning: Type 'extension' not found.
-// extension Extension<T> on Class<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:24: Warning: Type 'on' not found.
-// extension Extension<T> on Class<T> {
-//                        ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get property => Class.field;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Error: Expected ';' after this.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:23: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get property => Class.field;
-//                       ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:26: Error: Can't use 'Class' because it is declared more than once.
-//   static get property => Class.field;
-//                          ^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static set property(value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static set property(value) {
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:10: Error: Expected ';' after this.
-//   static set property(value) {
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:14: Error: 'property' is already declared in this scope.
-//   static set property(value) {
-//              ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:14: Context: Previous declaration of 'property'.
-//   static get property => Class.field;
-//              ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:14:5: Error: Can't use 'Class' because it is declared more than once.
-//     Class.field = value;
-//     ^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:17:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static var field;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:19:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static readGetter() {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:23:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static writeSetterRequired(value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:24:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:27:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static writeSetterOptional([value]) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:28:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:31:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static writeSetterNamed({value}) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:32:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:35:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericWriteSetterRequired<S>(S value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:36:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:39:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericWriteSetterOptional<S>([S value]) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:40:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:43:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericWriteSetterNamed<S>({S value}) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:44:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterNoArgs => readGetter;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterNoArgs => readGetter;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterNoArgs => readGetter;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:10: Error: Expected ';' after this.
-//   static get tearOffGetterNoArgs => readGetter;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:34: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterNoArgs => readGetter;
-//                                  ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:10: Error: Expected ';' after this.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:10: Error: Expected ';' after this.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:10: Error: Expected ';' after this.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:33: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//                                 ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:10: Error: Expected ';' after this.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:43: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//                                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:10: Error: Expected ';' after this.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:43: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//                                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:10: Error: Expected ';' after this.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:40: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//                                        ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:55:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static invocationsFromStaticContext(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:74:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static tearOffsFromStaticContext(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:100:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static fieldAccessFromStaticContext() {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:102:5: Warning: Setter not found: 'property'.
-//     property = field;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:105:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static getterCallsFromStaticContext(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:171:5: Warning: Setter not found: 'property'.
-//     property = field;
-//     ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic field = null;
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    : super core::Object::•()
-    ;
-}
-static method Extension<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.legacy.transformed.expect
deleted file mode 100644
index 35073da..0000000
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,366 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension<T> on Class<T> {
-//           ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:24: Error: Expected '{' before this.
-// extension Extension<T> on Class<T> {
-//                        ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:27: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension<T> on Class<T> {
-//                           ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:27: Error: 'Class' is already declared in this scope.
-// extension Extension<T> on Class<T> {
-//                           ^^^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:5:7: Context: Previous declaration of 'Class'.
-// class Class<T> {
-//       ^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:1: Warning: Type 'extension' not found.
-// extension Extension<T> on Class<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:9:24: Warning: Type 'on' not found.
-// extension Extension<T> on Class<T> {
-//                        ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get property => Class.field;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Error: Expected ';' after this.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:23: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get property => Class.field;
-//                       ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:26: Error: Can't use 'Class' because it is declared more than once.
-//   static get property => Class.field;
-//                          ^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static set property(value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static set property(value) {
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:10: Error: Expected ';' after this.
-//   static set property(value) {
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:13:14: Error: 'property' is already declared in this scope.
-//   static set property(value) {
-//              ^^^^^^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:14: Context: Previous declaration of 'property'.
-//   static get property => Class.field;
-//              ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:14:5: Error: Can't use 'Class' because it is declared more than once.
-//     Class.field = value;
-//     ^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:17:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static var field;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:19:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static readGetter() {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:23:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static writeSetterRequired(value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:24:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:27:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static writeSetterOptional([value]) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:28:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:31:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static writeSetterNamed({value}) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:32:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:35:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericWriteSetterRequired<S>(S value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:36:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:39:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericWriteSetterOptional<S>([S value]) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:40:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:43:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericWriteSetterNamed<S>({S value}) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:44:5: Warning: Setter not found: 'property'.
-//     property = value;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterNoArgs => readGetter;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterNoArgs => readGetter;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterNoArgs => readGetter;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:10: Error: Expected ';' after this.
-//   static get tearOffGetterNoArgs => readGetter;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:47:34: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterNoArgs => readGetter;
-//                                  ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:10: Error: Expected ';' after this.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:48:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterRequired => writeSetterRequired;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:10: Error: Expected ';' after this.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:49:36: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterOptional => writeSetterOptional;
-//                                    ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:10: Error: Expected ';' after this.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:50:33: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterNamed => writeSetterNamed;
-//                                 ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:10: Error: Expected ';' after this.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:51:43: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterGenericRequired => genericWriteSetterRequired;
-//                                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:10: Error: Expected ';' after this.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:52:43: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterGenericOptional => genericWriteSetterOptional;
-//                                           ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:10: Error: 'get' is already declared in this scope.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//          ^^^
-// pkg/front_end/testcases/extensions/direct_static_access.dart:11:10: Context: Previous declaration of 'get'.
-//   static get property => Class.field;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:10: Error: Expected ';' after this.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:53:40: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get tearOffGetterGenericNamed => genericWriteSetterNamed;
-//                                        ^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:55:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static invocationsFromStaticContext(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:74:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static tearOffsFromStaticContext(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:100:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static fieldAccessFromStaticContext() {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:102:5: Warning: Setter not found: 'property'.
-//     property = field;
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:105:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static getterCallsFromStaticContext(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/direct_static_access.dart:171:5: Warning: Setter not found: 'property'.
-//     property = field;
-//     ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic field = null;
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    : super core::Object::•()
-    ;
-}
-static method Extension<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.legacy.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.legacy.expect
deleted file mode 100644
index 566f8cd..0000000
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.legacy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/explicit_this.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {
-//       ^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:11:21: Error: Expected identifier, but got 'this'.
-//   void method2() => this.method1();
-//                     ^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:13:23: Error: Expected identifier, but got 'this'.
-//   Object method3() => this.field;
-//                       ^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:16:5: Error: Expected identifier, but got 'this'.
-//     this.field = o;
-//     ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::Object* field = null;
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method method1() → void {}
-}
-static field invalid-type A2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.legacy.transformed.expect
deleted file mode 100644
index 566f8cd..0000000
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/explicit_this.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {
-//       ^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:10:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:11:21: Error: Expected identifier, but got 'this'.
-//   void method2() => this.method1();
-//                     ^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:13:23: Error: Expected identifier, but got 'this'.
-//   Object method3() => this.field;
-//                       ^^^^
-//
-// pkg/front_end/testcases/extensions/explicit_this.dart:16:5: Error: Expected identifier, but got 'this'.
-//     this.field = o;
-//     ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::Object* field = null;
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method method1() → void {}
-}
-static field invalid-type A2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/extension_methods.dart b/pkg/front_end/testcases/extensions/extension_methods.dart
similarity index 100%
rename from pkg/front_end/testcases/general/extension_methods.dart
rename to pkg/front_end/testcases/extensions/extension_methods.dart
diff --git a/pkg/front_end/testcases/general/extension_methods.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.hierarchy.expect
similarity index 100%
rename from pkg/front_end/testcases/general/extension_methods.dart.hierarchy.expect
rename to pkg/front_end/testcases/extensions/extension_methods.dart.hierarchy.expect
diff --git a/pkg/front_end/testcases/general/extension_methods.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/extension_methods.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_methods.dart.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.strong.expect
new file mode 100644
index 0000000..ebd3f24
--- /dev/null
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart.strong.expect
@@ -0,0 +1,37 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/extensions/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
+//  - 'C' is from 'pkg/front_end/testcases/extensions/extension_methods.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
+//   var result = c.one + c.two;
+//                          ^^^
+//
+import self as self;
+import "dart:core" as core;
+import "package:expect/expect.dart" as exp;
+
+import "package:expect/expect.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    : super core::Object::•()
+    ;
+  get one() → core::int*
+    return 1;
+}
+extension E on self::C* {
+  get two = self::E|get#two;
+}
+static method E|get#two(final self::C* #this) → core::int*
+  return 2;
+static method main() → dynamic {
+  self::C* c = new self::C::•();
+  core::num* result = c.{self::C::one}.{core::num::+}(invalid-expression "pkg/front_end/testcases/extensions/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
+ - 'C' is from 'pkg/front_end/testcases/extensions/extension_methods.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
+  var result = c.one + c.two;
+                         ^^^" as{TypeError} core::num*);
+  exp::Expect::equals(result, 3);
+}
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.strong.transformed.expect
new file mode 100644
index 0000000..ebd3f24
--- /dev/null
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart.strong.transformed.expect
@@ -0,0 +1,37 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/extensions/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
+//  - 'C' is from 'pkg/front_end/testcases/extensions/extension_methods.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
+//   var result = c.one + c.two;
+//                          ^^^
+//
+import self as self;
+import "dart:core" as core;
+import "package:expect/expect.dart" as exp;
+
+import "package:expect/expect.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    : super core::Object::•()
+    ;
+  get one() → core::int*
+    return 1;
+}
+extension E on self::C* {
+  get two = self::E|get#two;
+}
+static method E|get#two(final self::C* #this) → core::int*
+  return 2;
+static method main() → dynamic {
+  self::C* c = new self::C::•();
+  core::num* result = c.{self::C::one}.{core::num::+}(invalid-expression "pkg/front_end/testcases/extensions/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
+ - 'C' is from 'pkg/front_end/testcases/extensions/extension_methods.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
+  var result = c.one + c.two;
+                         ^^^" as{TypeError} core::num*);
+  exp::Expect::equals(result, 3);
+}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.legacy.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.legacy.expect
deleted file mode 100644
index 27a47ac..0000000
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.legacy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/implicit_this.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {
-//       ^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:11:21: Warning: Method not found: 'method1'.
-//   void method2() => method1();
-//                     ^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:13:23: Warning: Getter not found: 'field'.
-//   Object method3() => field;
-//                       ^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:16:5: Warning: Setter not found: 'field'.
-//     field = o;
-//     ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::Object* field = null;
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method method1() → void {}
-}
-static field invalid-type A2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.legacy.transformed.expect
deleted file mode 100644
index 27a47ac..0000000
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/implicit_this.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {
-//       ^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:10:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:11:21: Warning: Method not found: 'method1'.
-//   void method2() => method1();
-//                     ^^^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:13:23: Warning: Getter not found: 'field'.
-//   Object method3() => field;
-//                       ^^^^^
-//
-// pkg/front_end/testcases/extensions/implicit_this.dart:16:5: Warning: Setter not found: 'field'.
-//     field = o;
-//     ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::Object* field = null;
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method method1() → void {}
-}
-static field invalid-type A2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.legacy.expect b/pkg/front_end/testcases/extensions/instance_members.dart.legacy.expect
deleted file mode 100644
index b19ea83..0000000
--- a/pkg/front_end/testcases/extensions/instance_members.dart.legacy.expect
+++ /dev/null
@@ -1,126 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/instance_members.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//           ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:17: Error: Expected '{' before this.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:20: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//                    ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:20: Error: 'B1' is already declared in this scope.
-// extension B2<T> on B1<T> {
-//                    ^^
-// pkg/front_end/testcases/extensions/instance_members.dart:28:7: Context: Previous declaration of 'B1'.
-// class B1<T> {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:1: Warning: Type 'extension' not found.
-// extension B2<T> on B1<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:17: Warning: Type 'on' not found.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:8:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:9:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:12:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method2<T>(T o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:14:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:17:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method3<T>([T o]) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:19:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:22:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method4<T>({T o}) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:24:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:31:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:32:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:35:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method2<S>(S o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:37:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-}
-class B1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B1<self::B1::T*>*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type A2;
-static method B2<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/instance_members.dart.legacy.transformed.expect
deleted file mode 100644
index b19ea83..0000000
--- a/pkg/front_end/testcases/extensions/instance_members.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,126 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/instance_members.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//           ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:17: Error: Expected '{' before this.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:20: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//                    ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:20: Error: 'B1' is already declared in this scope.
-// extension B2<T> on B1<T> {
-//                    ^^
-// pkg/front_end/testcases/extensions/instance_members.dart:28:7: Context: Previous declaration of 'B1'.
-// class B1<T> {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:1: Warning: Type 'extension' not found.
-// extension B2<T> on B1<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:30:17: Warning: Type 'on' not found.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:7:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:8:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:9:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:12:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method2<T>(T o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:14:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:17:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method3<T>([T o]) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:19:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:22:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method4<T>({T o}) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:24:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:31:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:32:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:35:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method2<S>(S o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/instance_members.dart:37:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-}
-class B1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B1<self::B1::T*>*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type A2;
-static method B2<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.legacy.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.legacy.expect
deleted file mode 100644
index b35bfc6..0000000
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.legacy.expect
+++ /dev/null
@@ -1,161 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {
-//       ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:7: Error: Expected ';' after this.
-//   int get instanceProperty => getInstanceField();
-//       ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:28: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   int get instanceProperty => getInstanceField();
-//                            ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:31: Warning: Method not found: 'getInstanceField'.
-//   int get instanceProperty => getInstanceField();
-//                               ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:21:8: Error: Expected ';' after this.
-//   void set instanceProperty(int value) {
-//        ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:21:12: Error: 'instanceProperty' is already declared in this scope.
-//   void set instanceProperty(int value) {
-//            ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:11: Context: Previous declaration of 'instanceProperty'.
-//   int get instanceProperty => getInstanceField();
-//           ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:22:5: Warning: Method not found: 'setInstanceField'.
-//     setInstanceField(value);
-//     ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:27:7: Error: Expected ';' after this.
-//   int operator +(int value) {
-//       ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:27:16: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//   int operator +(int value) {
-//                ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:28:12: Warning: Method not found: 'getInstanceField'.
-//     return getInstanceField() + value;
-//            ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:29:3: Error: Expected ';' after this.
-//   }
-//   ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:31:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static int staticField = A1.getStaticField();
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:31:28: Error: Can't use 'A1' because it is declared more than once.
-//   static int staticField = A1.getStaticField();
-//                            ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static int get staticProperty => A1.getStaticField();
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:14: Error: 'get' is already declared in this scope.
-//   static int get staticProperty => A1.getStaticField();
-//              ^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:7: Context: Previous declaration of 'get'.
-//   int get instanceProperty => getInstanceField();
-//       ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:14: Error: Expected ';' after this.
-//   static int get staticProperty => A1.getStaticField();
-//              ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:33: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static int get staticProperty => A1.getStaticField();
-//                                 ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:36: Error: Can't use 'A1' because it is declared more than once.
-//   static int get staticProperty => A1.getStaticField();
-//                                    ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static void set staticProperty(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:15: Error: 'set' is already declared in this scope.
-//   static void set staticProperty(int value) {
-//               ^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:21:8: Context: Previous declaration of 'set'.
-//   void set instanceProperty(int value) {
-//        ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:15: Error: Expected ';' after this.
-//   static void set staticProperty(int value) {
-//               ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:19: Error: 'staticProperty' is already declared in this scope.
-//   static void set staticProperty(int value) {
-//                   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:18: Context: Previous declaration of 'staticProperty'.
-//   static int get staticProperty => A1.getStaticField();
-//                  ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:36:5: Error: Can't use 'A1' because it is declared more than once.
-//     A1.setStaticField(value);
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::int* _instanceField = null;
-  static field core::int* _staticField = 0;
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method getInstanceField() → core::int*
-    return this.{self::A1::_instanceField};
-  method setInstanceField(core::int* value) → void {
-    this.{self::A1::_instanceField} = value;
-  }
-  static method getStaticField() → core::int*
-    return self::A1::_staticField;
-  static method setStaticField(core::int* value) → void {
-    self::A1::_staticField = value;
-  }
-}
-static field invalid-type A2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.legacy.transformed.expect
deleted file mode 100644
index b35bfc6..0000000
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,161 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1 {
-//       ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:18:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:7: Error: Expected ';' after this.
-//   int get instanceProperty => getInstanceField();
-//       ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:28: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   int get instanceProperty => getInstanceField();
-//                            ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:31: Warning: Method not found: 'getInstanceField'.
-//   int get instanceProperty => getInstanceField();
-//                               ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:21:8: Error: Expected ';' after this.
-//   void set instanceProperty(int value) {
-//        ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:21:12: Error: 'instanceProperty' is already declared in this scope.
-//   void set instanceProperty(int value) {
-//            ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:11: Context: Previous declaration of 'instanceProperty'.
-//   int get instanceProperty => getInstanceField();
-//           ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:22:5: Warning: Method not found: 'setInstanceField'.
-//     setInstanceField(value);
-//     ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:27:7: Error: Expected ';' after this.
-//   int operator +(int value) {
-//       ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:27:16: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//   int operator +(int value) {
-//                ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:28:12: Warning: Method not found: 'getInstanceField'.
-//     return getInstanceField() + value;
-//            ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:29:3: Error: Expected ';' after this.
-//   }
-//   ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:31:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static int staticField = A1.getStaticField();
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:31:28: Error: Can't use 'A1' because it is declared more than once.
-//   static int staticField = A1.getStaticField();
-//                            ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static int get staticProperty => A1.getStaticField();
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:14: Error: 'get' is already declared in this scope.
-//   static int get staticProperty => A1.getStaticField();
-//              ^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:19:7: Context: Previous declaration of 'get'.
-//   int get instanceProperty => getInstanceField();
-//       ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:14: Error: Expected ';' after this.
-//   static int get staticProperty => A1.getStaticField();
-//              ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:33: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static int get staticProperty => A1.getStaticField();
-//                                 ^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:36: Error: Can't use 'A1' because it is declared more than once.
-//   static int get staticProperty => A1.getStaticField();
-//                                    ^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static void set staticProperty(int value) {
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:15: Error: 'set' is already declared in this scope.
-//   static void set staticProperty(int value) {
-//               ^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:21:8: Context: Previous declaration of 'set'.
-//   void set instanceProperty(int value) {
-//        ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:15: Error: Expected ';' after this.
-//   static void set staticProperty(int value) {
-//               ^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:35:19: Error: 'staticProperty' is already declared in this scope.
-//   static void set staticProperty(int value) {
-//                   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/extensions/other_kinds.dart:33:18: Context: Previous declaration of 'staticProperty'.
-//   static int get staticProperty => A1.getStaticField();
-//                  ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/other_kinds.dart:36:5: Error: Can't use 'A1' because it is declared more than once.
-//     A1.setStaticField(value);
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::int* _instanceField = null;
-  static field core::int* _staticField = 0;
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method getInstanceField() → core::int*
-    return this.{self::A1::_instanceField};
-  method setInstanceField(core::int* value) → void {
-    this.{self::A1::_instanceField} = value;
-  }
-  static method getStaticField() → core::int*
-    return self::A1::_staticField;
-  static method setStaticField(core::int* value) → void {
-    self::A1::_staticField = value;
-  }
-}
-static field invalid-type A2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.legacy.expect b/pkg/front_end/testcases/extensions/static_access.dart.legacy.expect
deleted file mode 100644
index 3d580b0..0000000
--- a/pkg/front_end/testcases/extensions/static_access.dart.legacy.expect
+++ /dev/null
@@ -1,108 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:24: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension on Class {
-//                        ^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:24: Error: 'Class' is already declared in this scope.
-// extension Extension on Class {
-//                        ^^^^^
-// pkg/front_end/testcases/extensions/static_access.dart:5:7: Context: Previous declaration of 'Class'.
-// class Class {}
-//       ^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:1: Warning: Type 'extension' not found.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:21: Warning: Type 'on' not found.
-// extension Extension on Class {
-//                     ^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:1: Warning: 'extension' isn't a type.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:8:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static method() {}
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:9:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericMethod<T>(T t) {}
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get property => 42;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get property => 42;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:10: Error: Expected ';' after this.
-//   static get property => 42;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:23: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get property => 42;
-//                       ^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static set property(value) {}
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static set property(value) {}
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:10: Error: Expected ';' after this.
-//   static set property(value) {}
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:14: Error: 'property' is already declared in this scope.
-//   static set property(value) {}
-//              ^^^^^^^^
-// pkg/front_end/testcases/extensions/static_access.dart:10:14: Context: Previous declaration of 'property'.
-//   static get property => 42;
-//              ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:12:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static var field;
-//   ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type Extension;
-static method main() → dynamic {
-  self::Extension.method();
-  self::Extension.genericMethod(42);
-  self::Extension.genericMethod<core::num*>(42);
-  self::Extension.method;
-  self::Extension.genericMethod;
-  self::Extension.property;
-  self::Extension.property = 42;
-  self::Extension.field;
-  self::Extension.field = 42;
-}
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/static_access.dart.legacy.transformed.expect
deleted file mode 100644
index 3d580b0..0000000
--- a/pkg/front_end/testcases/extensions/static_access.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,108 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:24: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension Extension on Class {
-//                        ^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:24: Error: 'Class' is already declared in this scope.
-// extension Extension on Class {
-//                        ^^^^^
-// pkg/front_end/testcases/extensions/static_access.dart:5:7: Context: Previous declaration of 'Class'.
-// class Class {}
-//       ^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:1: Warning: Type 'extension' not found.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:21: Warning: Type 'on' not found.
-// extension Extension on Class {
-//                     ^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:7:1: Warning: 'extension' isn't a type.
-// extension Extension on Class {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:8:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static method() {}
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:9:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static genericMethod<T>(T t) {}
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static get property => 42;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static get property => 42;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:10: Error: Expected ';' after this.
-//   static get property => 42;
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:10:23: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   static get property => 42;
-//                       ^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static set property(value) {}
-//   ^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static set property(value) {}
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:10: Error: Expected ';' after this.
-//   static set property(value) {}
-//          ^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:11:14: Error: 'property' is already declared in this scope.
-//   static set property(value) {}
-//              ^^^^^^^^
-// pkg/front_end/testcases/extensions/static_access.dart:10:14: Context: Previous declaration of 'property'.
-//   static get property => 42;
-//              ^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/static_access.dart:12:3: Error: Can't have modifier 'static' here.
-// Try removing 'static'.
-//   static var field;
-//   ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type Extension;
-static method main() → dynamic {
-  self::Extension.method();
-  self::Extension.genericMethod(42);
-  self::Extension.genericMethod<core::num*>(42);
-  self::Extension.method;
-  self::Extension.genericMethod;
-  self::Extension.property;
-  self::Extension.property = 42;
-  self::Extension.field;
-  self::Extension.field = 42;
-}
diff --git a/pkg/front_end/testcases/extensions/test.options b/pkg/front_end/testcases/extensions/test.options
new file mode 100644
index 0000000..2624853
--- /dev/null
+++ b/pkg/front_end/testcases/extensions/test.options
@@ -0,0 +1 @@
+--enable-experiment=extension-methods
\ No newline at end of file
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.legacy.expect b/pkg/front_end/testcases/extensions/type_variables.dart.legacy.expect
deleted file mode 100644
index 05532f2..0000000
--- a/pkg/front_end/testcases/extensions/type_variables.dart.legacy.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2<T> on A1<T> {
-//           ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:17: Error: Expected '{' before this.
-// extension A2<T> on A1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:20: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2<T> on A1<T> {
-//                    ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:20: Error: 'A1' is already declared in this scope.
-// extension A2<T> on A1<T> {
-//                    ^^
-// pkg/front_end/testcases/extensions/type_variables.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1<T> {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:1: Warning: Type 'extension' not found.
-// extension A2<T> on A1<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:17: Warning: Type 'on' not found.
-// extension A2<T> on A1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:8:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1<T> method1<S extends T>() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:9:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:14:27: Error: Can't use 'A1' because it is declared more than once.
-//   A1<T> method2<S extends A1<T>>(S o) {
-//                           ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:14:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1<T> method2<S extends A1<T>>(S o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:18:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A1<self::A1::T*>*
-    : super core::Object::•()
-    ;
-}
-static method A2<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/type_variables.dart.legacy.transformed.expect
deleted file mode 100644
index 05532f2..0000000
--- a/pkg/front_end/testcases/extensions/type_variables.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2<T> on A1<T> {
-//           ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:17: Error: Expected '{' before this.
-// extension A2<T> on A1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:20: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2<T> on A1<T> {
-//                    ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:20: Error: 'A1' is already declared in this scope.
-// extension A2<T> on A1<T> {
-//                    ^^
-// pkg/front_end/testcases/extensions/type_variables.dart:5:7: Context: Previous declaration of 'A1'.
-// class A1<T> {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:1: Warning: Type 'extension' not found.
-// extension A2<T> on A1<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:7:17: Warning: Type 'on' not found.
-// extension A2<T> on A1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:8:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1<T> method1<S extends T>() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:9:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:14:27: Error: Can't use 'A1' because it is declared more than once.
-//   A1<T> method2<S extends A1<T>>(S o) {
-//                           ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:14:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1<T> method2<S extends A1<T>>(S o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/type_variables.dart:18:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A1<self::A1::T*>*
-    : super core::Object::•()
-    ;
-}
-static method A2<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.legacy.expect b/pkg/front_end/testcases/extensions/use_this.dart.legacy.expect
deleted file mode 100644
index f2b31be..0000000
--- a/pkg/front_end/testcases/extensions/use_this.dart.legacy.expect
+++ /dev/null
@@ -1,110 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/use_this.dart:7:7: Context: Previous declaration of 'A1'.
-// class A1 {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//           ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:17: Error: Expected '{' before this.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:20: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//                    ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:20: Error: 'B1' is already declared in this scope.
-// extension B2<T> on B1<T> {
-//                    ^^
-// pkg/front_end/testcases/extensions/use_this.dart:20:7: Context: Previous declaration of 'B1'.
-// class B1<T> {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:1: Warning: Type 'extension' not found.
-// extension B2<T> on B1<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:17: Warning: Type 'on' not found.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:10:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:11:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:14:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method2<T>(T o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:16:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:23:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:24:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:27:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method2<S>(S o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:29:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-}
-class B1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B1<self::B1::T*>*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type A2;
-static method B2<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/extensions/use_this.dart.legacy.transformed.expect
deleted file mode 100644
index f2b31be..0000000
--- a/pkg/front_end/testcases/extensions/use_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,110 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:17: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension A2 on A1 {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:17: Error: 'A1' is already declared in this scope.
-// extension A2 on A1 {
-//                 ^^
-// pkg/front_end/testcases/extensions/use_this.dart:7:7: Context: Previous declaration of 'A1'.
-// class A1 {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:11: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//           ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:17: Error: Expected '{' before this.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:20: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension B2<T> on B1<T> {
-//                    ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:20: Error: 'B1' is already declared in this scope.
-// extension B2<T> on B1<T> {
-//                    ^^
-// pkg/front_end/testcases/extensions/use_this.dart:20:7: Context: Previous declaration of 'B1'.
-// class B1<T> {}
-//       ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:1: Warning: Type 'extension' not found.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:14: Warning: Type 'on' not found.
-// extension A2 on A1 {
-//              ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:1: Warning: Type 'extension' not found.
-// extension B2<T> on B1<T> {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:22:17: Warning: Type 'on' not found.
-// extension B2<T> on B1<T> {
-//                 ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:9:1: Warning: 'extension' isn't a type.
-// extension A2 on A1 {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:10:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:11:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:14:3: Error: Can't use 'A1' because it is declared more than once.
-//   A1 method2<T>(T o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:16:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:23:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method1() {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:24:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:27:3: Error: Can't use 'B1' because it is declared more than once.
-//   B1<T> method2<S>(S o) {
-//   ^^
-//
-// pkg/front_end/testcases/extensions/use_this.dart:29:12: Error: Expected identifier, but got 'this'.
-//     return this;
-//            ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-}
-class B1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B1<self::B1::T*>*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type A2;
-static method B2<T extends core::Object* = dynamic>() → invalid-type {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.legacy.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.legacy.expect
deleted file mode 100644
index a4c7894..0000000
--- a/pkg/front_end/testcases/general/DeltaBlue.dart.legacy.expect
+++ /dev/null
@@ -1,450 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class DeltaBlue extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method run() → void {
-    self::chainTest(100);
-    self::projectionTest(100);
-  }
-}
-class Strength extends core::Object {
-  final field core::int value;
-  final field core::String name;
-  const constructor •(core::int value, core::String name) → void
-    : self::Strength::value = value, self::Strength::name = name, super core::Object::•()
-    ;
-  method nextWeaker() → self::Strength
-    return const <self::Strength>[self::STRONG_PREFERRED, self::PREFERRED, self::STRONG_DEFAULT, self::NORMAL, self::WEAK_DEFAULT, self::WEAKEST].[](this.value);
-  static method stronger(self::Strength s1, self::Strength s2) → core::bool {
-    return s1.value.<(s2.value);
-  }
-  static method weaker(self::Strength s1, self::Strength s2) → core::bool {
-    return s1.value.>(s2.value);
-  }
-  static method weakest(self::Strength s1, self::Strength s2) → self::Strength {
-    return self::Strength::weaker(s1, s2) ? s1 : s2;
-  }
-  static method strongest(self::Strength s1, self::Strength s2) → self::Strength {
-    return self::Strength::stronger(s1, s2) ? s1 : s2;
-  }
-}
-abstract class Constraint extends core::Object {
-  final field self::Strength strength;
-  const constructor •(self::Strength strength) → void
-    : self::Constraint::strength = strength, super core::Object::•()
-    ;
-  abstract method isSatisfied() → core::bool;
-  abstract method markUnsatisfied() → void;
-  abstract method addToGraph() → void;
-  abstract method removeFromGraph() → void;
-  abstract method chooseMethod(core::int mark) → void;
-  abstract method markInputs(core::int mark) → void;
-  abstract method inputsKnown(core::int mark) → core::bool;
-  abstract method output() → self::Variable;
-  abstract method execute() → void;
-  abstract method recalculate() → void;
-  method addConstraint() → void {
-    this.addToGraph();
-    self::planner.incrementalAdd(this);
-  }
-  method satisfy(dynamic mark) → self::Constraint {
-    this.chooseMethod(mark);
-    if(!this.isSatisfied()) {
-      if(this.strength.==(self::REQUIRED)) {
-        core::print("Could not satisfy a required constraint!");
-      }
-      return null;
-    }
-    this.markInputs(mark);
-    self::Variable out = this.output();
-    self::Constraint overridden = out.determinedBy;
-    if(!overridden.==(null))
-      overridden.markUnsatisfied();
-    out.determinedBy = this;
-    if(!self::planner.addPropagate(this, mark))
-      core::print("Cycle encountered");
-    out.mark = mark;
-    return overridden;
-  }
-  method destroyConstraint() → void {
-    if(this.isSatisfied())
-      self::planner.incrementalRemove(this);
-    this.removeFromGraph();
-  }
-  method isInput() → core::bool
-    return false;
-}
-abstract class UnaryConstraint extends self::Constraint {
-  final field self::Variable myOutput;
-  field core::bool satisfied = false;
-  constructor •(self::Variable myOutput, self::Strength strength) → void
-    : self::UnaryConstraint::myOutput = myOutput, super self::Constraint::•(strength) {
-    this.addConstraint();
-  }
-  method addToGraph() → void {
-    this.myOutput.addConstraint(this);
-    this.satisfied = false;
-  }
-  method chooseMethod(core::int mark) → void {
-    this.satisfied = !this.myOutput.mark.==(mark) && self::Strength::stronger(this.strength, this.myOutput.walkStrength);
-  }
-  method isSatisfied() → core::bool
-    return this.satisfied;
-  method markInputs(core::int mark) → void {}
-  method output() → self::Variable
-    return this.myOutput;
-  method recalculate() → void {
-    this.myOutput.walkStrength = this.strength;
-    this.myOutput.stay = !this.isInput();
-    if(this.myOutput.stay)
-      this.execute();
-  }
-  method markUnsatisfied() → void {
-    this.satisfied = false;
-  }
-  method inputsKnown(core::int mark) → core::bool
-    return true;
-  method removeFromGraph() → void {
-    if(!this.myOutput.==(null))
-      this.myOutput.removeConstraint(this);
-    this.satisfied = false;
-  }
-}
-class StayConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable v, self::Strength str) → void
-    : super self::UnaryConstraint::•(v, str)
-    ;
-  method execute() → void {}
-}
-class EditConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable v, self::Strength str) → void
-    : super self::UnaryConstraint::•(v, str)
-    ;
-  method isInput() → core::bool
-    return true;
-  method execute() → void {}
-}
-abstract class BinaryConstraint extends self::Constraint {
-  field self::Variable v1;
-  field self::Variable v2;
-  field core::int direction = self::NONE;
-  constructor •(self::Variable v1, self::Variable v2, self::Strength strength) → void
-    : self::BinaryConstraint::v1 = v1, self::BinaryConstraint::v2 = v2, super self::Constraint::•(strength) {
-    this.addConstraint();
-  }
-  method chooseMethod(core::int mark) → void {
-    if(this.v1.mark.==(mark)) {
-      this.direction = !this.v2.mark.==(mark) && self::Strength::stronger(this.strength, this.v2.walkStrength) ? self::FORWARD : self::NONE;
-    }
-    if(this.v2.mark.==(mark)) {
-      this.direction = !this.v1.mark.==(mark) && self::Strength::stronger(this.strength, this.v1.walkStrength) ? self::BACKWARD : self::NONE;
-    }
-    if(self::Strength::weaker(this.v1.walkStrength, this.v2.walkStrength)) {
-      this.direction = self::Strength::stronger(this.strength, this.v1.walkStrength) ? self::BACKWARD : self::NONE;
-    }
-    else {
-      this.direction = self::Strength::stronger(this.strength, this.v2.walkStrength) ? self::FORWARD : self::BACKWARD;
-    }
-  }
-  method addToGraph() → void {
-    this.v1.addConstraint(this);
-    this.v2.addConstraint(this);
-    this.direction = self::NONE;
-  }
-  method isSatisfied() → core::bool
-    return !this.direction.==(self::NONE);
-  method markInputs(core::int mark) → void {
-    this.input().mark = mark;
-  }
-  method input() → self::Variable
-    return this.direction.==(self::FORWARD) ? this.v1 : this.v2;
-  method output() → self::Variable
-    return this.direction.==(self::FORWARD) ? this.v2 : this.v1;
-  method recalculate() → void {
-    self::Variable ihn = this.input();
-    self::Variable out = this.output();
-    out.walkStrength = self::Strength::weakest(this.strength, ihn.walkStrength);
-    out.stay = ihn.stay;
-    if(out.stay)
-      this.execute();
-  }
-  method markUnsatisfied() → void {
-    this.direction = self::NONE;
-  }
-  method inputsKnown(core::int mark) → core::bool {
-    self::Variable i = this.input();
-    return i.mark.==(mark) || i.stay || i.determinedBy.==(null);
-  }
-  method removeFromGraph() → void {
-    if(!this.v1.==(null))
-      this.v1.removeConstraint(this);
-    if(!this.v2.==(null))
-      this.v2.removeConstraint(this);
-    this.direction = self::NONE;
-  }
-}
-class ScaleConstraint extends self::BinaryConstraint {
-  final field self::Variable scale;
-  final field self::Variable offset;
-  constructor •(self::Variable src, self::Variable scale, self::Variable offset, self::Variable dest, self::Strength strength) → void
-    : self::ScaleConstraint::scale = scale, self::ScaleConstraint::offset = offset, super self::BinaryConstraint::•(src, dest, strength)
-    ;
-  method addToGraph() → void {
-    super.{self::BinaryConstraint::addToGraph}();
-    this.scale.addConstraint(this);
-    this.offset.addConstraint(this);
-  }
-  method removeFromGraph() → void {
-    super.{self::BinaryConstraint::removeFromGraph}();
-    if(!this.scale.==(null))
-      this.scale.removeConstraint(this);
-    if(!this.offset.==(null))
-      this.offset.removeConstraint(this);
-  }
-  method markInputs(core::int mark) → void {
-    super.{self::BinaryConstraint::markInputs}(mark);
-    this.scale.mark = this.offset.mark = mark;
-  }
-  method execute() → void {
-    if(this.direction.==(self::FORWARD)) {
-      this.v2.value = this.v1.value.*(this.scale.value).+(this.offset.value);
-    }
-    else {
-      this.v1.value = this.v2.value.-(this.offset.value).~/(this.scale.value);
-    }
-  }
-  method recalculate() → void {
-    self::Variable ihn = this.input();
-    self::Variable out = this.output();
-    out.walkStrength = self::Strength::weakest(this.strength, ihn.walkStrength);
-    out.stay = ihn.stay && this.scale.stay && this.offset.stay;
-    if(out.stay)
-      this.execute();
-  }
-}
-class EqualityConstraint extends self::BinaryConstraint {
-  constructor •(self::Variable v1, self::Variable v2, self::Strength strength) → void
-    : super self::BinaryConstraint::•(v1, v2, strength)
-    ;
-  method execute() → void {
-    this.output().value = this.input().value;
-  }
-}
-class Variable extends core::Object {
-  field core::List<self::Constraint> constraints = <self::Constraint>[];
-  field self::Constraint determinedBy = null;
-  field core::int mark = 0;
-  field self::Strength walkStrength = self::WEAKEST;
-  field core::bool stay = true;
-  field core::int value;
-  final field core::String name;
-  constructor •(core::String name, core::int value) → void
-    : self::Variable::name = name, self::Variable::value = value, super core::Object::•()
-    ;
-  method addConstraint(self::Constraint c) → void {
-    this.constraints.add(c);
-  }
-  method removeConstraint(self::Constraint c) → void {
-    this.constraints.remove(c);
-    if(this.determinedBy.==(c))
-      this.determinedBy = null;
-  }
-}
-class Planner extends core::Object {
-  field core::int currentMark = 0;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method incrementalAdd(self::Constraint c) → void {
-    core::int mark = this.newMark();
-    for (self::Constraint overridden = c.satisfy(mark); !overridden.==(null); overridden = overridden.satisfy(mark))
-      ;
-  }
-  method incrementalRemove(self::Constraint c) → void {
-    self::Variable out = c.output();
-    c.markUnsatisfied();
-    c.removeFromGraph();
-    core::List<self::Constraint> unsatisfied = this.removePropagateFrom(out);
-    self::Strength strength = self::REQUIRED;
-    do {
-      for (core::int i = 0; i.<(unsatisfied.length); i = i.+(1)) {
-        self::Constraint u = unsatisfied.[](i);
-        if(u.strength.==(strength))
-          this.incrementalAdd(u);
-      }
-      strength = strength.nextWeaker();
-    }
-    while (!strength.==(self::WEAKEST))
-  }
-  method newMark() → core::int
-    return this.currentMark = this.currentMark.+(1);
-  method makePlan(core::List<self::Constraint> sources) → self::Plan {
-    core::int mark = this.newMark();
-    self::Plan plan = new self::Plan::•();
-    core::List<self::Constraint> todo = sources;
-    while (todo.length.>(0)) {
-      self::Constraint c = todo.removeLast();
-      if(!c.output().mark.==(mark) && c.inputsKnown(mark)) {
-        plan.addConstraint(c);
-        c.output().mark = mark;
-        this.addConstraintsConsumingTo(c.output(), todo);
-      }
-    }
-    return plan;
-  }
-  method extractPlanFromConstraints(core::List<self::Constraint> constraints) → self::Plan {
-    core::List<self::Constraint> sources = <self::Constraint>[];
-    for (core::int i = 0; i.<(constraints.length); i = i.+(1)) {
-      self::Constraint c = constraints.[](i);
-      if(c.isInput() && c.isSatisfied())
-        sources.add(c);
-    }
-    return this.makePlan(sources);
-  }
-  method addPropagate(self::Constraint c, core::int mark) → core::bool {
-    core::List<self::Constraint> todo = <self::Constraint>[c];
-    while (todo.length.>(0)) {
-      self::Constraint d = todo.removeLast();
-      if(d.output().mark.==(mark)) {
-        this.incrementalRemove(c);
-        return false;
-      }
-      d.recalculate();
-      this.addConstraintsConsumingTo(d.output(), todo);
-    }
-    return true;
-  }
-  method removePropagateFrom(self::Variable out) → core::List<self::Constraint> {
-    out.determinedBy = null;
-    out.walkStrength = self::WEAKEST;
-    out.stay = true;
-    core::List<self::Constraint> unsatisfied = <self::Constraint>[];
-    core::List<self::Variable> todo = <self::Variable>[out];
-    while (todo.length.>(0)) {
-      self::Variable v = todo.removeLast();
-      for (core::int i = 0; i.<(v.constraints.length); i = i.+(1)) {
-        self::Constraint c = v.constraints.[](i);
-        if(!c.isSatisfied())
-          unsatisfied.add(c);
-      }
-      self::Constraint determining = v.determinedBy;
-      for (core::int i = 0; i.<(v.constraints.length); i = i.+(1)) {
-        self::Constraint next = v.constraints.[](i);
-        if(!next.==(determining) && next.isSatisfied()) {
-          next.recalculate();
-          todo.add(next.output());
-        }
-      }
-    }
-    return unsatisfied;
-  }
-  method addConstraintsConsumingTo(self::Variable v, core::List<self::Constraint> coll) → void {
-    self::Constraint determining = v.determinedBy;
-    for (core::int i = 0; i.<(v.constraints.length); i = i.+(1)) {
-      self::Constraint c = v.constraints.[](i);
-      if(!c.==(determining) && c.isSatisfied())
-        coll.add(c);
-    }
-  }
-}
-class Plan extends core::Object {
-  field core::List<self::Constraint> list = <self::Constraint>[];
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method addConstraint(self::Constraint c) → void {
-    this.list.add(c);
-  }
-  method size() → core::int
-    return this.list.length;
-  method execute() → void {
-    for (core::int i = 0; i.<(this.list.length); i = i.+(1)) {
-      this.list.[](i).execute();
-    }
-  }
-}
-static const field dynamic REQUIRED = const self::Strength::•(0, "required");
-static const field dynamic STRONG_PREFERRED = const self::Strength::•(1, "strongPreferred");
-static const field dynamic PREFERRED = const self::Strength::•(2, "preferred");
-static const field dynamic STRONG_DEFAULT = const self::Strength::•(3, "strongDefault");
-static const field dynamic NORMAL = const self::Strength::•(4, "normal");
-static const field dynamic WEAK_DEFAULT = const self::Strength::•(5, "weakDefault");
-static const field dynamic WEAKEST = const self::Strength::•(6, "weakest");
-static const field core::int NONE = 1;
-static const field core::int FORWARD = 2;
-static const field core::int BACKWARD = 0;
-static field self::Planner planner = null;
-static method main() → dynamic {
-  new self::DeltaBlue::•().run();
-}
-static method chainTest(core::int n) → void {
-  self::planner = new self::Planner::•();
-  self::Variable prev = null;
-  self::Variable first = null;
-  self::Variable last = null;
-  for (core::int i = 0; i.<=(n); i = i.+(1)) {
-    self::Variable v = new self::Variable::•("v${i}", 0);
-    if(!prev.==(null))
-      new self::EqualityConstraint::•(prev, v, self::REQUIRED);
-    if(i.==(0))
-      first = v;
-    if(i.==(n))
-      last = v;
-    prev = v;
-  }
-  new self::StayConstraint::•(last, self::STRONG_DEFAULT);
-  self::EditConstraint edit = new self::EditConstraint::•(first, self::PREFERRED);
-  self::Plan plan = self::planner.extractPlanFromConstraints(<self::Constraint>[edit]);
-  for (core::int i = 0; i.<(100); i = i.+(1)) {
-    first.value = i;
-    plan.execute();
-    if(!last.value.==(i)) {
-      core::print("Chain test failed:");
-      core::print("Expected last value to be ${i} but it was ${last.value}.");
-    }
-  }
-}
-static method projectionTest(core::int n) → void {
-  self::planner = new self::Planner::•();
-  self::Variable scale = new self::Variable::•("scale", 10);
-  self::Variable offset = new self::Variable::•("offset", 1000);
-  self::Variable src = null;
-  self::Variable dst = null;
-  core::List<self::Variable> dests = <self::Variable>[];
-  for (core::int i = 0; i.<(n); i = i.+(1)) {
-    src = new self::Variable::•("src", i);
-    dst = new self::Variable::•("dst", i);
-    dests.add(dst);
-    new self::StayConstraint::•(src, self::NORMAL);
-    new self::ScaleConstraint::•(src, scale, offset, dst, self::REQUIRED);
-  }
-  self::change(src, 17);
-  if(!dst.value.==(1170))
-    core::print("Projection 1 failed");
-  self::change(dst, 1050);
-  if(!src.value.==(5))
-    core::print("Projection 2 failed");
-  self::change(scale, 5);
-  for (core::int i = 0; i.<(n.-(1)); i = i.+(1)) {
-    if(!dests.[](i).value.==(i.*(5).+(1000)))
-      core::print("Projection 3 failed");
-  }
-  self::change(offset, 2000);
-  for (core::int i = 0; i.<(n.-(1)); i = i.+(1)) {
-    if(!dests.[](i).value.==(i.*(5).+(2000)))
-      core::print("Projection 4 failed");
-  }
-}
-static method change(self::Variable v, core::int newValue) → void {
-  self::EditConstraint edit = new self::EditConstraint::•(v, self::PREFERRED);
-  self::Plan plan = self::planner.extractPlanFromConstraints(<self::EditConstraint>[edit]);
-  for (core::int i = 0; i.<(10); i = i.+(1)) {
-    v.value = newValue;
-    plan.execute();
-  }
-  edit.destroyConstraint();
-}
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.legacy.expect b/pkg/front_end/testcases/general/abstract_members.dart.legacy.expect
deleted file mode 100644
index ec953d2..0000000
--- a/pkg/front_end/testcases/general/abstract_members.dart.legacy.expect
+++ /dev/null
@@ -1,310 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/abstract_members.dart:19:16: Error: Can't inherit members that conflict with each other.
-// abstract class A implements Interface1, Interface2, Interface3 {
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:33:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
-//  - A.abstractMethod
-//  - A.property1=
-//  - A.property3=
-//  - Interface1.interfaceMethod1
-//  - Interface2.interfaceMethod1
-//  - Interface2.interfaceMethod2
-//  - Interface3.interfaceMethod3
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class MyClass extends B {
-//       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:54:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
-//  - A.abstractMethod
-//  - A.property1=
-//  - A.property2=
-//  - A.property3=
-//  - Interface1.interfaceMethod1
-//  - Interface2.interfaceMethod1
-//  - Interface2.interfaceMethod2
-//  - Interface3.interfaceMethod3
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class MyMock3 extends B {
-//       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:23:12: Context: 'A.property2=' is defined here.
-//   void set property2(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:64:16: Error: Can't inherit members that conflict with each other.
-// abstract class D extends C implements Interface2 {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is one inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:59:8: Context: This is the other inherited member.
-//   void interfaceMethod1(_) {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:72:16: Error: Can't inherit members that conflict with each other.
-// abstract class F extends E implements Interface1 {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:67:12: Context: This is the other inherited member.
-//   void set interfaceMethod1(_) {}
-//            ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:84:16: Error: Can't inherit members that conflict with each other.
-// abstract class H extends G implements Foo {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:75:8: Context: This is one inherited member.
-//   void foo() {}
-//        ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:79:14: Context: This is the other inherited member.
-//   Object get foo => null;
-//              ^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:96:16: Error: Can't inherit members that conflict with each other.
-// abstract class J extends I implements Bar {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:87:14: Context: This is one inherited member.
-//   Object get foo => null;
-//              ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:91:10: Context: This is the other inherited member.
-//   Object foo() {}
-//          ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Interface1 extends core::Object {
-  synthetic constructor •() → self::Interface1*
-    : super core::Object::•()
-    ;
-  method interfaceMethod1() → void {}
-}
-class Interface2 extends core::Object {
-  field dynamic interfaceMethod1 = null;
-  synthetic constructor •() → self::Interface2*
-    : super core::Object::•()
-    ;
-  method interfaceMethod2() → void {}
-}
-class Interface3 extends core::Object {
-  synthetic constructor •() → self::Interface3*
-    : super core::Object::•()
-    ;
-  method interfaceMethod3() → void {}
-}
-abstract class A extends core::Object implements self::Interface1, self::Interface2, self::Interface3 {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method aMethod() → dynamic {}
-  abstract method abstractMethod() → dynamic;
-  abstract set property1(dynamic _) → void;
-  abstract set property2(dynamic _) → void;
-  abstract set property3(dynamic _) → void;
-}
-abstract class B extends self::A {
-  final field dynamic property1 = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method aMethod() → dynamic {}
-  method bMethod() → dynamic {}
-}
-class MyClass extends self::B {
-  field dynamic property2 = null;
-  synthetic constructor •() → self::MyClass*
-    : super self::B::•()
-    ;
-  method aaMethod() → dynamic {}
-  method aMethod() → dynamic {}
-  method bMethod() → dynamic {}
-  method cMethod() → dynamic {}
-  no-such-method-forwarder get interfaceMethod1() → dynamic
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class MyMock1 extends self::B {
-  synthetic constructor •() → self::MyMock1*
-    : super self::B::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-  no-such-method-forwarder method interfaceMethod2() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder method abstractMethod() → dynamic
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-  no-such-method-forwarder method interfaceMethod1() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder method interfaceMethod3() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property2(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class MyMock2 extends self::MyMock1 {
-  synthetic constructor •() → self::MyMock2*
-    : super self::MyMock1::•()
-    ;
-  abstract method noSuchMethod(core::Invocation* _) → dynamic;
-}
-class MyMock3 extends self::B {
-  synthetic constructor •() → self::MyMock3*
-    : super self::B::•()
-    ;
-  abstract method noSuchMethod(core::Invocation* _) → dynamic;
-  no-such-method-forwarder get interfaceMethod1() → dynamic
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property2(dynamic _) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method interfaceMethod1(dynamic _) → void {}
-}
-abstract class D extends self::C implements self::Interface2 {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  set interfaceMethod1(dynamic _) → void {}
-}
-abstract class F extends self::E implements self::Interface1 {
-  synthetic constructor •() → self::F*
-    : super self::E::•()
-    ;
-}
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method foo() → void {}
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  get foo() → core::Object*
-    return null;
-}
-abstract class H extends self::G implements self::Foo {
-  synthetic constructor •() → self::H*
-    : super self::G::•()
-    ;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  get foo() → core::Object*
-    return null;
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method foo() → core::Object* {}
-}
-abstract class J extends self::I implements self::Bar {
-  synthetic constructor •() → self::J*
-    : super self::I::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #interfaceMethod1
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #property3=
-  #C6 = #interfaceMethod1=
-  #C7 = #property1=
-  #C8 = #interfaceMethod2
-  #C9 = #abstractMethod
-  #C10 = #interfaceMethod3
-  #C11 = #property2=
-}
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/abstract_members.dart.legacy.transformed.expect
deleted file mode 100644
index ec953d2..0000000
--- a/pkg/front_end/testcases/general/abstract_members.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,310 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/abstract_members.dart:19:16: Error: Can't inherit members that conflict with each other.
-// abstract class A implements Interface1, Interface2, Interface3 {
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is the other inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:33:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
-//  - A.abstractMethod
-//  - A.property1=
-//  - A.property3=
-//  - Interface1.interfaceMethod1
-//  - Interface2.interfaceMethod1
-//  - Interface2.interfaceMethod2
-//  - Interface3.interfaceMethod3
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class MyClass extends B {
-//       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:54:7: Error: The non-abstract class 'MyMock3' is missing implementations for these members:
-//  - A.abstractMethod
-//  - A.property1=
-//  - A.property2=
-//  - A.property3=
-//  - Interface1.interfaceMethod1
-//  - Interface2.interfaceMethod1
-//  - Interface2.interfaceMethod2
-//  - Interface3.interfaceMethod3
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class MyMock3 extends B {
-//       ^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:21:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:22:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:23:12: Context: 'A.property2=' is defined here.
-//   void set property2(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:24:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:10:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:16:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:64:16: Error: Can't inherit members that conflict with each other.
-// abstract class D extends C implements Interface2 {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:12:7: Context: This is one inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:59:8: Context: This is the other inherited member.
-//   void interfaceMethod1(_) {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:72:16: Error: Can't inherit members that conflict with each other.
-// abstract class F extends E implements Interface1 {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:6:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general/abstract_members.dart:67:12: Context: This is the other inherited member.
-//   void set interfaceMethod1(_) {}
-//            ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:84:16: Error: Can't inherit members that conflict with each other.
-// abstract class H extends G implements Foo {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:75:8: Context: This is one inherited member.
-//   void foo() {}
-//        ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:79:14: Context: This is the other inherited member.
-//   Object get foo => null;
-//              ^^^
-//
-// pkg/front_end/testcases/general/abstract_members.dart:96:16: Error: Can't inherit members that conflict with each other.
-// abstract class J extends I implements Bar {}
-//                ^
-// pkg/front_end/testcases/general/abstract_members.dart:87:14: Context: This is one inherited member.
-//   Object get foo => null;
-//              ^^^
-// pkg/front_end/testcases/general/abstract_members.dart:91:10: Context: This is the other inherited member.
-//   Object foo() {}
-//          ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Interface1 extends core::Object {
-  synthetic constructor •() → self::Interface1*
-    : super core::Object::•()
-    ;
-  method interfaceMethod1() → void {}
-}
-class Interface2 extends core::Object {
-  field dynamic interfaceMethod1 = null;
-  synthetic constructor •() → self::Interface2*
-    : super core::Object::•()
-    ;
-  method interfaceMethod2() → void {}
-}
-class Interface3 extends core::Object {
-  synthetic constructor •() → self::Interface3*
-    : super core::Object::•()
-    ;
-  method interfaceMethod3() → void {}
-}
-abstract class A extends core::Object implements self::Interface1, self::Interface2, self::Interface3 {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method aMethod() → dynamic {}
-  abstract method abstractMethod() → dynamic;
-  abstract set property1(dynamic _) → void;
-  abstract set property2(dynamic _) → void;
-  abstract set property3(dynamic _) → void;
-}
-abstract class B extends self::A {
-  final field dynamic property1 = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method aMethod() → dynamic {}
-  method bMethod() → dynamic {}
-}
-class MyClass extends self::B {
-  field dynamic property2 = null;
-  synthetic constructor •() → self::MyClass*
-    : super self::B::•()
-    ;
-  method aaMethod() → dynamic {}
-  method aMethod() → dynamic {}
-  method bMethod() → dynamic {}
-  method cMethod() → dynamic {}
-  no-such-method-forwarder get interfaceMethod1() → dynamic
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class MyMock1 extends self::B {
-  synthetic constructor •() → self::MyMock1*
-    : super self::B::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-  no-such-method-forwarder method interfaceMethod2() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder method abstractMethod() → dynamic
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-  no-such-method-forwarder method interfaceMethod1() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder method interfaceMethod3() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property2(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class MyMock2 extends self::MyMock1 {
-  synthetic constructor •() → self::MyMock2*
-    : super self::MyMock1::•()
-    ;
-  abstract method noSuchMethod(core::Invocation* _) → dynamic;
-}
-class MyMock3 extends self::B {
-  synthetic constructor •() → self::MyMock3*
-    : super self::B::•()
-    ;
-  abstract method noSuchMethod(core::Invocation* _) → dynamic;
-  no-such-method-forwarder get interfaceMethod1() → dynamic
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  no-such-method-forwarder set property2(dynamic _) → void
-    return this.{self::MyMock3::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method interfaceMethod1(dynamic _) → void {}
-}
-abstract class D extends self::C implements self::Interface2 {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  set interfaceMethod1(dynamic _) → void {}
-}
-abstract class F extends self::E implements self::Interface1 {
-  synthetic constructor •() → self::F*
-    : super self::E::•()
-    ;
-}
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method foo() → void {}
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  get foo() → core::Object*
-    return null;
-}
-abstract class H extends self::G implements self::Foo {
-  synthetic constructor •() → self::H*
-    : super self::G::•()
-    ;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  get foo() → core::Object*
-    return null;
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method foo() → core::Object* {}
-}
-abstract class J extends self::I implements self::Bar {
-  synthetic constructor •() → self::J*
-    : super self::I::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #interfaceMethod1
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #property3=
-  #C6 = #interfaceMethod1=
-  #C7 = #property1=
-  #C8 = #interfaceMethod2
-  #C9 = #abstractMethod
-  #C10 = #interfaceMethod3
-  #C11 = #property2=
-}
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.legacy.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.legacy.expect
deleted file mode 100644
index 8482063..0000000
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → self::A*
-    return null;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract method foo() → self::B*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-}
-class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  no-such-method-forwarder method foo() → self::B*
-    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} self::B*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.legacy.transformed.expect
deleted file mode 100644
index 8482063..0000000
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → self::A*
-    return null;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract method foo() → self::B*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-}
-class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  no-such-method-forwarder method foo() → self::B*
-    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} self::B*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/accessors.dart.legacy.expect b/pkg/front_end/testcases/general/accessors.dart.legacy.expect
deleted file mode 100644
index bbd4ef7..0000000
--- a/pkg/front_end/testcases/general/accessors.dart.legacy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/accessors.dart:16:13: Warning: Getter not found: 'onlySetter'.
-//       print(onlySetter);
-//             ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/accessors.dart:25:11: Warning: Getter not found: 'onlySetter'.
-//     print(onlySetter);
-//           ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/accessors.dart:40:11: Warning: Getter not found: 'onlySetter'.
-//     print(onlySetter);
-//           ^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set onlySetter(dynamic value) → void {
-    core::print("C.onlySetter called with ${value}.");
-  }
-  method testC() → dynamic {
-    try {
-      core::print(this.onlySetter);
-      throw "No error thrown";
-    }
-    on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-      core::print("Expected error: ${e}");
-    }
-    this.{self::C::onlySetter} = "hest";
-  }
-  method testD() → dynamic {
-    core::print(this.onlySetter);
-    this.{self::C::onlySetter} = "hest";
-  }
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  get onlySetter() → core::String*
-    return "D.onlySetter called.";
-  set onlySetter(dynamic value) → void {
-    core::print("D.onlySetter called with ${value}.");
-  }
-}
-static set onlySetter(dynamic value) → void {
-  core::print("onlySetter called with ${value}.");
-}
-static method main() → dynamic {
-  try {
-    core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-    throw "No error thrown";
-  }
-  on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-    core::print("Expected error: ${e}");
-  }
-  self::onlySetter = "fisk";
-  new self::C::•().testC();
-  new self::D::•().testD();
-}
-
-constants  {
-  #C1 = #onlySetter
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/accessors.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/accessors.dart.legacy.transformed.expect
deleted file mode 100644
index bbd4ef7..0000000
--- a/pkg/front_end/testcases/general/accessors.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/accessors.dart:16:13: Warning: Getter not found: 'onlySetter'.
-//       print(onlySetter);
-//             ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/accessors.dart:25:11: Warning: Getter not found: 'onlySetter'.
-//     print(onlySetter);
-//           ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/accessors.dart:40:11: Warning: Getter not found: 'onlySetter'.
-//     print(onlySetter);
-//           ^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set onlySetter(dynamic value) → void {
-    core::print("C.onlySetter called with ${value}.");
-  }
-  method testC() → dynamic {
-    try {
-      core::print(this.onlySetter);
-      throw "No error thrown";
-    }
-    on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-      core::print("Expected error: ${e}");
-    }
-    this.{self::C::onlySetter} = "hest";
-  }
-  method testD() → dynamic {
-    core::print(this.onlySetter);
-    this.{self::C::onlySetter} = "hest";
-  }
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  get onlySetter() → core::String*
-    return "D.onlySetter called.";
-  set onlySetter(dynamic value) → void {
-    core::print("D.onlySetter called with ${value}.");
-  }
-}
-static set onlySetter(dynamic value) → void {
-  core::print("onlySetter called with ${value}.");
-}
-static method main() → dynamic {
-  try {
-    core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-    throw "No error thrown";
-  }
-  on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-    core::print("Expected error: ${e}");
-  }
-  self::onlySetter = "fisk";
-  new self::C::•().testC();
-  new self::D::•().testD();
-}
-
-constants  {
-  #C1 = #onlySetter
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.legacy.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.legacy.expect
deleted file mode 100644
index 530c1e4..0000000
--- a/pkg/front_end/testcases/general/ambiguous_exports.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/ambiguous_exports.dart:7:1: Error: 'main' is exported from both 'pkg/front_end/testcases/general/hello.dart' and 'pkg/front_end/testcases/general/map.dart'.
-// export 'map.dart' show main;
-// ^
-//
-import self as self;
-import "dart:core" as core;
-
-export "org-dartlang-testcase:///hello.dart";
-export "org-dartlang-testcase:///map.dart";
-
-static const field dynamic _exports# = #C1 /* from null */;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(core::Map::•<dynamic, dynamic>());
-}
-
-constants  {
-  #C1 = "{\"main\":\"'main' is exported from both 'pkg/front_end/testcases/general/hello.dart' and 'pkg/front_end/testcases/general/map.dart'.\"}"
-}
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.legacy.transformed.expect
deleted file mode 100644
index 530c1e4..0000000
--- a/pkg/front_end/testcases/general/ambiguous_exports.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/ambiguous_exports.dart:7:1: Error: 'main' is exported from both 'pkg/front_end/testcases/general/hello.dart' and 'pkg/front_end/testcases/general/map.dart'.
-// export 'map.dart' show main;
-// ^
-//
-import self as self;
-import "dart:core" as core;
-
-export "org-dartlang-testcase:///hello.dart";
-export "org-dartlang-testcase:///map.dart";
-
-static const field dynamic _exports# = #C1 /* from null */;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(core::Map::•<dynamic, dynamic>());
-}
-
-constants  {
-  #C1 = "{\"main\":\"'main' is exported from both 'pkg/front_end/testcases/general/hello.dart' and 'pkg/front_end/testcases/general/map.dart'.\"}"
-}
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart.legacy.expect b/pkg/front_end/testcases/general/annotation_eof.dart.legacy.expect
deleted file mode 100644
index f4d0e53..0000000
--- a/pkg/front_end/testcases/general/annotation_eof.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/annotation_eof.dart:10:1: Error: Expected a declaration, but got ''.
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("There is a dangling annotation at the end of this file");
-}
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/annotation_eof.dart.legacy.transformed.expect
deleted file mode 100644
index f4d0e53..0000000
--- a/pkg/front_end/testcases/general/annotation_eof.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/annotation_eof.dart:10:1: Error: Expected a declaration, but got ''.
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("There is a dangling annotation at the end of this file");
-}
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.legacy.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.legacy.expect
deleted file mode 100644
index 046e4e7..0000000
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Fisk<T extends core::Object* = dynamic> extends core::Object {
-  final field self::Fisk::T* x;
-  const constructor fisk(self::Fisk::T* x) → self::Fisk<self::Fisk::T*>*
-    : self::Fisk::x = x, super core::Object::•()
-    ;
-}
-class Foo extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Foo*>* values = #C10;
-  @#C11
-  static const field self::Foo* bar = #C3;
-  @#C12
-  static const field self::Foo* baz = #C6;
-  static const field self::Foo* cafebabe = #C9;
-  const constructor •(core::int* index, core::String* _name) → self::Foo*
-    : self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Foo::_name};
-}
-static const field core::int* hest = #C11;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-  #C2 = "Foo.bar"
-  #C3 = self::Foo {index:#C1, _name:#C2}
-  #C4 = 1
-  #C5 = "Foo.baz"
-  #C6 = self::Foo {index:#C4, _name:#C5}
-  #C7 = 2
-  #C8 = "Foo.cafebabe"
-  #C9 = self::Foo {index:#C7, _name:#C8}
-  #C10 = <self::Foo*>[#C3, #C6, #C9]
-  #C11 = 42
-  #C12 = self::Fisk<dynamic> {x:#C11}
-}
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.legacy.transformed.expect
deleted file mode 100644
index 046e4e7..0000000
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Fisk<T extends core::Object* = dynamic> extends core::Object {
-  final field self::Fisk::T* x;
-  const constructor fisk(self::Fisk::T* x) → self::Fisk<self::Fisk::T*>*
-    : self::Fisk::x = x, super core::Object::•()
-    ;
-}
-class Foo extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Foo*>* values = #C10;
-  @#C11
-  static const field self::Foo* bar = #C3;
-  @#C12
-  static const field self::Foo* baz = #C6;
-  static const field self::Foo* cafebabe = #C9;
-  const constructor •(core::int* index, core::String* _name) → self::Foo*
-    : self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Foo::_name};
-}
-static const field core::int* hest = #C11;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-  #C2 = "Foo.bar"
-  #C3 = self::Foo {index:#C1, _name:#C2}
-  #C4 = 1
-  #C5 = "Foo.baz"
-  #C6 = self::Foo {index:#C4, _name:#C5}
-  #C7 = 2
-  #C8 = "Foo.cafebabe"
-  #C9 = self::Foo {index:#C7, _name:#C8}
-  #C10 = <self::Foo*>[#C3, #C6, #C9]
-  #C11 = 42
-  #C12 = self::Fisk<dynamic> {x:#C11}
-}
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.legacy.expect b/pkg/front_end/testcases/general/annotation_top.dart.legacy.expect
deleted file mode 100644
index 6f2d3774..0000000
--- a/pkg/front_end/testcases/general/annotation_top.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-@#C1
-@#C2
-library test;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-@#C2
-typedef F1 = () →* void;
-@#C1
-@#C2
-typedef F2 = () →* void;
-class A extends core::Object {
-  const constructor •(core::int* value) → self::A*
-    : super core::Object::•()
-    ;
-}
-@#C1
-@#C2
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static const field core::Object* a = #C1;
-@#C1
-@#C2
-static field core::int* f1;
-@#C1
-@#C2
-static field core::int* f2;
-@#C1
-@#C2
-static method main() → void {}
-
-constants  {
-  #C1 = core::Object {}
-  #C2 = self::A {}
-}
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/annotation_top.dart.legacy.transformed.expect
deleted file mode 100644
index 6f2d3774..0000000
--- a/pkg/front_end/testcases/general/annotation_top.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-@#C1
-@#C2
-library test;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-@#C2
-typedef F1 = () →* void;
-@#C1
-@#C2
-typedef F2 = () →* void;
-class A extends core::Object {
-  const constructor •(core::int* value) → self::A*
-    : super core::Object::•()
-    ;
-}
-@#C1
-@#C2
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static const field core::Object* a = #C1;
-@#C1
-@#C2
-static field core::int* f1;
-@#C1
-@#C2
-static field core::int* f2;
-@#C1
-@#C2
-static method main() → void {}
-
-constants  {
-  #C1 = core::Object {}
-  #C2 = self::A {}
-}
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.legacy.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.legacy.expect
deleted file mode 100644
index d6f9911..0000000
--- a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F = (@#C1 core::int* x, core::num* y, {@#C2 @#C3 core::String* z, core::Object* w}) →* void;
-typedef G = (@#C1 core::int* a, core::num* b, [@#C2 @#C3 core::String* c, core::Object* d]) →* void;
-static const field core::int* foo = #C1;
-static const field core::int* bar = #C2;
-static const field core::int* baz = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 21
-  #C2 = 42
-  #C3 = 84
-}
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.legacy.transformed.expect
deleted file mode 100644
index d6f9911..0000000
--- a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F = (@#C1 core::int* x, core::num* y, {@#C2 @#C3 core::String* z, core::Object* w}) →* void;
-typedef G = (@#C1 core::int* a, core::num* b, [@#C2 @#C3 core::String* c, core::Object* d]) →* void;
-static const field core::int* foo = #C1;
-static const field core::int* bar = #C2;
-static const field core::int* baz = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 21
-  #C2 = 42
-  #C3 = 84
-}
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.legacy.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.legacy.expect
deleted file mode 100644
index 9bab9c9..0000000
--- a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F = (@#C1 core::int* app) →* core::int*;
-static const field core::int* app = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.legacy.transformed.expect
deleted file mode 100644
index 9bab9c9..0000000
--- a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F = (@#C1 core::int* app) →* core::int*;
-static const field core::int* app = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.legacy.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.legacy.expect
deleted file mode 100644
index cbeb9b1..0000000
--- a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef hest_t = ({@#C1 dynamic named}) →* dynamic;
-class Bar extends core::Object {
-  const constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  const constructor named(dynamic x) → self::Bar*
-    : super core::Object::•()
-    ;
-}
-class Baz extends core::Object {
-  constructor •(@#C1 dynamic constructorFormal) → self::Baz*
-    : super core::Object::•()
-    ;
-  static factory bazFactory(@#C1 dynamic factoryFormal) → self::Baz*
-    return null;
-  method fisk(@#C1 dynamic formal1, @#C2 dynamic formal2, @#C2 dynamic formal3, @#C1 @#C2 dynamic formal4, [@#C1 dynamic optional = #C3]) → dynamic {
-    @#C1 dynamic local1;
-    @#C2 dynamic local2;
-    @#C2 dynamic local3;
-    @#C1 @#C2 dynamic local4;
-    @#C1 dynamic localWithInitializer = "hello";
-    @#C1 @#C2 dynamic localGroupPart1;
-    @#C1 @#C2 dynamic localGroupPart2;
-    function naebdyr(@#C1 dynamic nestedFormal) → dynamic
-      return null;
-    dynamic roedmus = (@#C1 dynamic closureFormal) → dynamic => null;
-  }
-  method hest({@#C1 dynamic named = #C3}) → dynamic
-    return null;
-}
-static const field core::int* foo = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 42
-  #C2 = self::Bar {}
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.legacy.transformed.expect
deleted file mode 100644
index cbeb9b1..0000000
--- a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef hest_t = ({@#C1 dynamic named}) →* dynamic;
-class Bar extends core::Object {
-  const constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  const constructor named(dynamic x) → self::Bar*
-    : super core::Object::•()
-    ;
-}
-class Baz extends core::Object {
-  constructor •(@#C1 dynamic constructorFormal) → self::Baz*
-    : super core::Object::•()
-    ;
-  static factory bazFactory(@#C1 dynamic factoryFormal) → self::Baz*
-    return null;
-  method fisk(@#C1 dynamic formal1, @#C2 dynamic formal2, @#C2 dynamic formal3, @#C1 @#C2 dynamic formal4, [@#C1 dynamic optional = #C3]) → dynamic {
-    @#C1 dynamic local1;
-    @#C2 dynamic local2;
-    @#C2 dynamic local3;
-    @#C1 @#C2 dynamic local4;
-    @#C1 dynamic localWithInitializer = "hello";
-    @#C1 @#C2 dynamic localGroupPart1;
-    @#C1 @#C2 dynamic localGroupPart2;
-    function naebdyr(@#C1 dynamic nestedFormal) → dynamic
-      return null;
-    dynamic roedmus = (@#C1 dynamic closureFormal) → dynamic => null;
-  }
-  method hest({@#C1 dynamic named = #C3}) → dynamic
-    return null;
-}
-static const field core::int* foo = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 42
-  #C2 = self::Bar {}
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/general/argument.dart.legacy.expect b/pkg/front_end/testcases/general/argument.dart.legacy.expect
deleted file mode 100644
index dc04225a..0000000
--- a/pkg/front_end/testcases/general/argument.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Foo extends self::Base {
-  synthetic constructor •() → self::Foo*
-    : super self::Base::•()
-    ;
-}
-class Bar extends self::Base {
-  synthetic constructor •() → self::Bar*
-    : super self::Base::•()
-    ;
-}
-class Baz extends self::Base {
-  synthetic constructor •() → self::Baz*
-    : super self::Base::•()
-    ;
-}
-static method foo(dynamic x) → void {}
-static method bar(dynamic x) → void {}
-static method foo_escaped(dynamic x) → void {}
-static method bar_escaped(dynamic x) → void {}
-static method escape(dynamic fn) → void {
-  fn.call(new self::Baz::•());
-}
-static method main() → dynamic {
-  self::foo(new self::Foo::•());
-  self::bar(new self::Bar::•());
-  self::escape(#C1);
-  self::escape(#C2);
-}
-
-constants  {
-  #C1 = tearoff self::foo_escaped
-  #C2 = tearoff self::bar_escaped
-}
diff --git a/pkg/front_end/testcases/general/argument.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/argument.dart.legacy.transformed.expect
deleted file mode 100644
index dc04225a..0000000
--- a/pkg/front_end/testcases/general/argument.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Foo extends self::Base {
-  synthetic constructor •() → self::Foo*
-    : super self::Base::•()
-    ;
-}
-class Bar extends self::Base {
-  synthetic constructor •() → self::Bar*
-    : super self::Base::•()
-    ;
-}
-class Baz extends self::Base {
-  synthetic constructor •() → self::Baz*
-    : super self::Base::•()
-    ;
-}
-static method foo(dynamic x) → void {}
-static method bar(dynamic x) → void {}
-static method foo_escaped(dynamic x) → void {}
-static method bar_escaped(dynamic x) → void {}
-static method escape(dynamic fn) → void {
-  fn.call(new self::Baz::•());
-}
-static method main() → dynamic {
-  self::foo(new self::Foo::•());
-  self::bar(new self::Bar::•());
-  self::escape(#C1);
-  self::escape(#C2);
-}
-
-constants  {
-  #C1 = tearoff self::foo_escaped
-  #C2 = tearoff self::bar_escaped
-}
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.legacy.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.legacy.expect
deleted file mode 100644
index d5c1bd2..0000000
--- a/pkg/front_end/testcases/general/argument_mismatch.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/argument_mismatch.dart:8:34: Warning: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   /*@warning=MethodNotFound*/ foo(null);
-//                                  ^
-// pkg/front_end/testcases/general/argument_mismatch.dart:5:1: Context: Found this candidate, but the arguments don't match.
-// foo() {}
-// ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {}
-static method test() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>[null]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.legacy.transformed.expect
deleted file mode 100644
index d5c1bd2..0000000
--- a/pkg/front_end/testcases/general/argument_mismatch.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/argument_mismatch.dart:8:34: Warning: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   /*@warning=MethodNotFound*/ foo(null);
-//                                  ^
-// pkg/front_end/testcases/general/argument_mismatch.dart:5:1: Context: Found this candidate, but the arguments don't match.
-// foo() {}
-// ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {}
-static method test() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>[null]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.legacy.expect b/pkg/front_end/testcases/general/arithmetic.dart.legacy.expect
deleted file mode 100644
index e86ef65..0000000
--- a/pkg/front_end/testcases/general/arithmetic.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method foo(core::int* x, core::int* y) → core::int* {
-  dynamic z = x.+(y);
-  return z.<<(4);
-}
-static method loop(core::List<dynamic>* xs) → void {
-  core::int* _ = xs.length;
-  for (core::int* i = 0; i.<(xs.length); i = i.+(1)) {
-  }
-}
-static method main() → dynamic {
-  self::foo(4, 5);
-  self::foo(6, 7);
-  self::loop(<dynamic>["dfg"]);
-}
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/arithmetic.dart.legacy.transformed.expect
deleted file mode 100644
index e86ef65..0000000
--- a/pkg/front_end/testcases/general/arithmetic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method foo(core::int* x, core::int* y) → core::int* {
-  dynamic z = x.+(y);
-  return z.<<(4);
-}
-static method loop(core::List<dynamic>* xs) → void {
-  core::int* _ = xs.length;
-  for (core::int* i = 0; i.<(xs.length); i = i.+(1)) {
-  }
-}
-static method main() → dynamic {
-  self::foo(4, 5);
-  self::foo(6, 7);
-  self::loop(<dynamic>["dfg"]);
-}
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.legacy.expect b/pkg/front_end/testcases/general/arrow_function.dart.legacy.expect
deleted file mode 100644
index bf47b44..0000000
--- a/pkg/front_end/testcases/general/arrow_function.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main<T extends core::Object* = dynamic>() → dynamic
-  return () → dynamic => self::main::T*;
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/arrow_function.dart.legacy.transformed.expect
deleted file mode 100644
index bf47b44..0000000
--- a/pkg/front_end/testcases/general/arrow_function.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main<T extends core::Object* = dynamic>() → dynamic
-  return () → dynamic => self::main::T*;
diff --git a/pkg/front_end/testcases/general/async_function.dart.legacy.expect b/pkg/front_end/testcases/general/async_function.dart.legacy.expect
deleted file mode 100644
index 5560cd1..0000000
--- a/pkg/front_end/testcases/general/async_function.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field core::List<core::String*>* stringList = <dynamic>["bar"];
-static method asyncString() → asy::Future<core::String*>* async {
-  return "foo";
-}
-static method asyncString2() → asy::Future<core::String*>* async {
-  return self::asyncString();
-}
-static method syncStarString() → core::Iterable<core::String*>* sync* {
-  yield "foo";
-  yield* self::syncStarString2();
-  yield* self::stringList;
-}
-static method syncStarString2() → core::Iterable<core::String*>* sync* {
-  yield "foo";
-}
-static method asyncStarString() → asy::Stream<core::String*>* async* {
-  yield "foo";
-  yield* self::asyncStarString2();
-  yield await self::asyncString();
-}
-static method asyncStarString2() → asy::Stream<core::String*>* async* {
-  yield "bar";
-}
-static method main() → dynamic async {
-  core::String* str = await self::asyncString();
-}
diff --git a/pkg/front_end/testcases/general/async_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/async_function.dart.legacy.transformed.expect
deleted file mode 100644
index 0b171f1..0000000
--- a/pkg/front_end/testcases/general/async_function.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,205 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field core::List<core::String*>* stringList = <dynamic>["bar"];
-static method asyncString() → asy::Future<core::String*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::String*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::String*>();
-  asy::FutureOr<core::String*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = "foo";
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method asyncString2() → asy::Future<core::String*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::String*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::String*>();
-  asy::FutureOr<core::String*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = self::asyncString();
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method syncStarString() → core::Iterable<core::String*>* /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<core::String*>* :iterator) → core::bool* yielding {
-    {
-      {
-        :iterator.{core::_SyncIterator::_current} = "foo";
-        [yield] true;
-      }
-      {
-        :iterator.{core::_SyncIterator::_yieldEachIterable} = self::syncStarString2();
-        [yield] true;
-      }
-      {
-        :iterator.{core::_SyncIterator::_yieldEachIterable} = self::stringList;
-        [yield] true;
-      }
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<core::String*>(:sync_op);
-}
-static method syncStarString2() → core::Iterable<core::String*>* /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<core::String*>* :iterator) → core::bool* yielding {
-    {
-      {
-        :iterator.{core::_SyncIterator::_current} = "foo";
-        [yield] true;
-      }
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<core::String*>(:sync_op);
-}
-static method asyncStarString() → asy::Stream<core::String*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<core::String*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try
-      try {
-        #L3:
-        {
-          if(:controller.{asy::_AsyncStarStreamController::add}("foo"))
-            return null;
-          else
-            [yield] null;
-          if(:controller.{asy::_AsyncStarStreamController::addStream}(self::asyncStarString2()))
-            return null;
-          else
-            [yield] null;
-          [yield] let dynamic #t1 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error, :async_op) in null;
-          if(:controller.{asy::_AsyncStarStreamController::add}(:result))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-      }
-    finally {
-      :controller.{asy::_AsyncStarStreamController::close}();
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :controller = new asy::_AsyncStarStreamController::•<core::String*>(:async_op);
-  :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-  return :controller_stream;
-}
-static method asyncStarString2() → asy::Stream<core::String*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<core::String*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try
-      try {
-        #L4:
-        {
-          if(:controller.{asy::_AsyncStarStreamController::add}("bar"))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-      }
-    finally {
-      :controller.{asy::_AsyncStarStreamController::close}();
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :controller = new asy::_AsyncStarStreamController::•<core::String*>(:async_op);
-  :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-  return :controller_stream;
-}
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L5:
-      {
-        [yield] let dynamic #t2 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error, :async_op) in null;
-        core::String* str = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/async_nested.dart.legacy.expect b/pkg/front_end/testcases/general/async_nested.dart.legacy.expect
deleted file mode 100644
index 072ebb1..0000000
--- a/pkg/front_end/testcases/general/async_nested.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class Node extends core::Object {
-  final field core::List<self::Node*>* nested;
-  final field core::String* name;
-  constructor •(core::String* name, [core::List<self::Node*>* nested = #C1]) → self::Node*
-    : self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
-  method toString() → core::String*
-    return "<${this.{self::Node::name}}:[${let final dynamic #t1 = this.{self::Node::nested} in #t1.==(null) ? null : #t1.join(", ")}]>";
-  method toSimpleString() → dynamic {
-    dynamic tmp = let final dynamic #t2 = this.{self::Node::nested} in #t2.==(null) ? null : #t2.map((dynamic child) → dynamic => child.toSimpleString());
-    return "${this.{self::Node::name}} ${let final dynamic #t3 = tmp in #t3.==(null) ? null : #t3.join(" ")}".trim();
-  }
-}
-static method main() → void async {
-  core::String* expected = "1 2 3 4 5 6 7 8 9 10";
-  self::Node* node = new self::Node::•("1", <dynamic>[new self::Node::•("2", <dynamic>[]), await asy::Future::value<dynamic>(new self::Node::•("3", <dynamic>[await asy::Future::value<dynamic>(new self::Node::•("4", <dynamic>[new self::Node::•("5", <dynamic>[await asy::Future::value<dynamic>(new self::Node::•("6", <dynamic>[await asy::Future::value<dynamic>(new self::Node::•("7", <dynamic>[]))])), await asy::Future::value<dynamic>(new self::Node::•("8", <dynamic>[])), await asy::Future::value<dynamic>(new self::Node::•("9", <dynamic>[]))])]))])), await asy::Future::value<dynamic>(new self::Node::•("10", <dynamic>[]))]);
-  core::String* actual = node.toSimpleString();
-  core::print(actual);
-  if(!actual.==(expected)) {
-    throw "Expected '${expected}' but got '${actual}'";
-  }
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/async_nested.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/async_nested.dart.legacy.transformed.expect
deleted file mode 100644
index 46bb29f..0000000
--- a/pkg/front_end/testcases/general/async_nested.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class Node extends core::Object {
-  final field core::List<self::Node*>* nested;
-  final field core::String* name;
-  constructor •(core::String* name, [core::List<self::Node*>* nested = #C1]) → self::Node*
-    : self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
-  method toString() → core::String*
-    return "<${this.{self::Node::name}}:[${let final dynamic #t1 = this.{self::Node::nested} in #t1.==(null) ? null : #t1.join(", ")}]>";
-  method toSimpleString() → dynamic {
-    dynamic tmp = let final dynamic #t2 = this.{self::Node::nested} in #t2.==(null) ? null : #t2.map((dynamic child) → dynamic => child.toSimpleString());
-    return "${this.{self::Node::name}} ${let final dynamic #t3 = tmp in #t3.==(null) ? null : #t3.join(" ")}".trim();
-  }
-}
-static method main() → void /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :async_temporary_0;
-  dynamic :async_temporary_1;
-  dynamic :async_temporary_2;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        core::String* expected = "1 2 3 4 5 6 7 8 9 10";
-        :async_temporary_2 = new self::Node::•("2", <dynamic>[]);
-        [yield] let dynamic #t4 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("7", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null;
-        [yield] let dynamic #t5 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("6", <dynamic>[:result])), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_1 = :result;
-        [yield] let dynamic #t6 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("8", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_0 = :result;
-        [yield] let dynamic #t7 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("9", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null;
-        [yield] let dynamic #t8 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("4", <dynamic>[new self::Node::•("5", <dynamic>[:async_temporary_1, :async_temporary_0, :result])])), :async_op_then, :async_op_error, :async_op) in null;
-        [yield] let dynamic #t9 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("3", <dynamic>[:result])), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_0 = :result;
-        [yield] let dynamic #t10 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("10", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null;
-        self::Node* node = new self::Node::•("1", <dynamic>[:async_temporary_2, :async_temporary_0, :result]);
-        core::String* actual = node.toSimpleString();
-        core::print(actual);
-        if(!actual.==(expected)) {
-          throw "Expected '${expected}' but got '${actual}'";
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/await.dart.legacy.expect b/pkg/front_end/testcases/general/await.dart.legacy.expect
deleted file mode 100644
index 5b1be33..0000000
--- a/pkg/front_end/testcases/general/await.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic async {
-  core::print(await "Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/await.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/await.dart.legacy.transformed.expect
deleted file mode 100644
index 1e0da3e..0000000
--- a/pkg/front_end/testcases/general/await.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        [yield] let dynamic #t1 = asy::_awaitHelper("Hello, World!", :async_op_then, :async_op_error, :async_op) in null;
-        core::print(:result);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.legacy.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.legacy.expect
deleted file mode 100644
index aa3b0e2..0000000
--- a/pkg/front_end/testcases/general/await_in_non_async.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/await_in_non_async.dart:11:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-//   await foo();
-//   ^^^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  self::foo();
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/await_in_non_async.dart:11:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-  await foo();
-  ^^^^^";
-}
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.legacy.transformed.expect
deleted file mode 100644
index aa3b0e2..0000000
--- a/pkg/front_end/testcases/general/await_in_non_async.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/await_in_non_async.dart:11:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-//   await foo();
-//   ^^^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  self::foo();
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/await_in_non_async.dart:11:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-  await foo();
-  ^^^^^";
-}
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.legacy.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.legacy.expect
deleted file mode 100644
index 81a0b91..0000000
--- a/pkg/front_end/testcases/general/bad_setter_abstract.dart.legacy.expect
+++ /dev/null
@@ -1,159 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:5:8: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set b();
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:7:12: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set c(x, y);
-//            ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.
-// set b();
-//      ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
-// set c(x, y);
-//      ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:66:9: Warning: The class 'B' is abstract and can't be instantiated.
-//     new B();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set a(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  set a(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-}
-static set b(dynamic #synthetic) → void {
-  invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.
-set b();
-     ^";
-  ;
-}
-static set c(dynamic #synthetic) → void {
-  invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
-set c(x, y);
-     ^";
-  {
-    dynamic x;
-    dynamic y;
-    ;
-  }
-}
-static method main() → dynamic {
-  core::bool* threw;
-  try {
-    threw = true;
-    new self::A::•().a = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    new self::A::•().d = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    self::b = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    self::c = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    throw new core::AbstractClassInstantiationError::•("B");
-    threw = false;
-  }
-  on core::AbstractClassInstantiationError* catch(final core::AbstractClassInstantiationError* _) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-}
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.legacy.transformed.expect
deleted file mode 100644
index 81a0b91..0000000
--- a/pkg/front_end/testcases/general/bad_setter_abstract.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,159 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:5:8: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set b();
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:7:12: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set c(x, y);
-//            ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.
-// set b();
-//      ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
-// set c(x, y);
-//      ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general/bad_setter_abstract.dart:66:9: Warning: The class 'B' is abstract and can't be instantiated.
-//     new B();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set a(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  set a(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-}
-static set b(dynamic #synthetic) → void {
-  invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.
-set b();
-     ^";
-  ;
-}
-static set c(dynamic #synthetic) → void {
-  invalid-expression "pkg/front_end/testcases/general/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
-set c(x, y);
-     ^";
-  {
-    dynamic x;
-    dynamic y;
-    ;
-  }
-}
-static method main() → dynamic {
-  core::bool* threw;
-  try {
-    threw = true;
-    new self::A::•().a = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    new self::A::•().d = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    self::b = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    self::c = null;
-    threw = false;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-  try {
-    threw = true;
-    throw new core::AbstractClassInstantiationError::•("B");
-    threw = false;
-  }
-  on core::AbstractClassInstantiationError* catch(final core::AbstractClassInstantiationError* _) {
-  }
-  if(!threw) {
-    throw "Expected an error above.";
-  }
-}
diff --git a/pkg/front_end/testcases/general/bad_store.dart.legacy.expect b/pkg/front_end/testcases/general/bad_store.dart.legacy.expect
deleted file mode 100644
index a2ace71..0000000
--- a/pkg/front_end/testcases/general/bad_store.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method identity(dynamic x) → dynamic
-  return x;
-static method use(dynamic x) → void {}
-static method main(core::List<core::String*>* args) → dynamic {
-  dynamic foo = self::identity(new self::Foo::•());
-  if(args.length.>(1)) {
-    foo.field = "string";
-    dynamic first = foo.field;
-    self::use(first);
-    foo.noField = "string";
-    dynamic second = foo.noField;
-    self::use(second);
-  }
-}
diff --git a/pkg/front_end/testcases/general/bad_store.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bad_store.dart.legacy.transformed.expect
deleted file mode 100644
index a2ace71..0000000
--- a/pkg/front_end/testcases/general/bad_store.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method identity(dynamic x) → dynamic
-  return x;
-static method use(dynamic x) → void {}
-static method main(core::List<core::String*>* args) → dynamic {
-  dynamic foo = self::identity(new self::Foo::•());
-  if(args.length.>(1)) {
-    foo.field = "string";
-    dynamic first = foo.field;
-    self::use(first);
-    foo.noField = "string";
-    dynamic second = foo.noField;
-    self::use(second);
-  }
-}
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.legacy.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.legacy.expect
deleted file mode 100644
index 133519d..0000000
--- a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.legacy.expect
+++ /dev/null
@@ -1,343 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:13:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class B<T> extends A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:15:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Bc<T> extends A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:17:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Bi<T> extends A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:19:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class C<T> implements A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:21:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Cc<T> implements A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:23:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Ci<T> implements A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:25:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class D<T> = Object with A<Function(T)>;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:27:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Dc<T> = Object with A<ContravariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:29:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Di<T> = Object with A<InvariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:31:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class E<T> = A<Function(T)> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:33:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Ec<T> = A<ContravariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:35:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Ei<T> = A<InvariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:37:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class F<T> extends Object with A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:39:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Fc<T> extends Object with A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:41:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Fi<T> extends Object with A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:43:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class G<T> extends A<Function(T)> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:45:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Gc<T> extends A<ContravariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:47:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Gi<T> extends A<InvariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:57:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Hii<T> extends A<InvariantUse<InvariantUse<T>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:71:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jfff<T> extends A<Function(Function(Function(T)))> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:73:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jffc<T> extends A<Function(Function(ContravariantUse<T>))> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:75:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jfcf<T> extends A<Function(ContravariantUse<Function(T)>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:77:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jfcc<T> extends A<Function(ContravariantUse<ContravariantUse<T>>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:79:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jcff<T> extends A<ContravariantUse<Function(Function(T))>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:81:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jcfc<T> extends A<ContravariantUse<Function(ContravariantUse<T>)>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:83:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jccf<T> extends A<ContravariantUse<ContravariantUse<Function(T)>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:85:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jccc<T>
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef ContravariantUse<T extends core::Object* = dynamic> = (T*) →* dynamic;
-typedef InvariantUse<T extends core::Object* = dynamic> = (T*) →* T*;
-class Empty extends core::Object {
-  synthetic constructor •() → self::Empty*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class Bc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bc<self::Bc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Bi<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bi<self::Bi::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class Cc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cc<self::Cc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Ci<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ci<self::Ci::T*>*
-    : super core::Object::•()
-    ;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class Dc<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::Dc<self::Dc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Di<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::Di<self::Di::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super core::Object::•()
-    ;
-}
-class Ec<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::Ec<self::Ec::T*>*
-    : super core::Object::•()
-    ;
-}
-class Ei<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::Ei<self::Ei::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _F&Object&A<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::_F&Object&A<self::_F&Object&A::T*>*
-    : super core::Object::•()
-    ;
-}
-class F<T extends core::Object* = dynamic> extends self::_F&Object&A<self::F::T*> {
-  synthetic constructor •() → self::F<self::F::T*>*
-    : super self::_F&Object&A::•()
-    ;
-}
-abstract class _Fc&Object&A<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::_Fc&Object&A<self::_Fc&Object&A::T*>*
-    : super core::Object::•()
-    ;
-}
-class Fc<T extends core::Object* = dynamic> extends self::_Fc&Object&A<self::Fc::T*> {
-  synthetic constructor •() → self::Fc<self::Fc::T*>*
-    : super self::_Fc&Object&A::•()
-    ;
-}
-abstract class _Fi&Object&A<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::_Fi&Object&A<self::_Fi&Object&A::T*>*
-    : super core::Object::•()
-    ;
-}
-class Fi<T extends core::Object* = dynamic> extends self::_Fi&Object&A<self::Fi::T*> {
-  synthetic constructor •() → self::Fi<self::Fi::T*>*
-    : super self::_Fi&Object&A::•()
-    ;
-}
-abstract class _G&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::_G&A&Empty<self::_G&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-}
-class G<T extends core::Object* = dynamic> extends self::_G&A&Empty<self::G::T*> {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super self::_G&A&Empty::•()
-    ;
-}
-abstract class _Gc&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::_Gc&A&Empty<self::_Gc&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-}
-class Gc<T extends core::Object* = dynamic> extends self::_Gc&A&Empty<self::Gc::T*> {
-  synthetic constructor •() → self::Gc<self::Gc::T*>*
-    : super self::_Gc&A&Empty::•()
-    ;
-}
-abstract class _Gi&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::_Gi&A&Empty<self::_Gi&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-}
-class Gi<T extends core::Object* = dynamic> extends self::_Gi&A&Empty<self::Gi::T*> {
-  synthetic constructor •() → self::Gi<self::Gi::T*>*
-    : super self::_Gi&A&Empty::•()
-    ;
-}
-class Hff<T extends core::Object* = dynamic> extends self::A<((self::Hff::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hff<self::Hff::T*>*
-    : super self::A::•()
-    ;
-}
-class Hfc<T extends core::Object* = dynamic> extends self::A<((self::Hfc::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hfc<self::Hfc::T*>*
-    : super self::A::•()
-    ;
-}
-class Hcf<T extends core::Object* = dynamic> extends self::A<((self::Hcf::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hcf<self::Hcf::T*>*
-    : super self::A::•()
-    ;
-}
-class Hcc<T extends core::Object* = dynamic> extends self::A<((self::Hcc::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hcc<self::Hcc::T*>*
-    : super self::A::•()
-    ;
-}
-class Hii<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hii<self::Hii::T*>*
-    : super core::Object::•()
-    ;
-}
-class Iafc<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iafc::T*) →* dynamic) →* dynamic>*> {
-  synthetic constructor •() → self::Iafc<self::Iafc::T*>*
-    : super self::A::•()
-    ;
-}
-class Iacf<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iacf::T*) →* dynamic) →* dynamic>*> {
-  synthetic constructor •() → self::Iacf<self::Iacf::T*>*
-    : super self::A::•()
-    ;
-}
-class Ifac<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Ifac::T*) →* dynamic>*) →* dynamic> {
-  synthetic constructor •() → self::Ifac<self::Ifac::T*>*
-    : super self::A::•()
-    ;
-}
-class Ifca<T extends core::Object* = dynamic> extends self::A<((self::A<self::Ifca::T*>*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Ifca<self::Ifca::T*>*
-    : super self::A::•()
-    ;
-}
-class Icaf<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Icaf::T*) →* dynamic>*) →* dynamic> {
-  synthetic constructor •() → self::Icaf<self::Icaf::T*>*
-    : super self::A::•()
-    ;
-}
-class Icfa<T extends core::Object* = dynamic> extends self::A<((self::A<self::Icfa::T*>*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Icfa<self::Icfa::T*>*
-    : super self::A::•()
-    ;
-}
-class Jfff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfff<self::Jfff::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jffc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jffc<self::Jffc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jfcf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcf<self::Jfcf::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jfcc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcc<self::Jfcc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jcff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcff<self::Jcff::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jcfc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcfc<self::Jcfc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jccf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccf<self::Jccf::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jccc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccc<self::Jccc::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.legacy.transformed.expect
deleted file mode 100644
index cf5fe36..0000000
--- a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,343 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:13:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class B<T> extends A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:15:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Bc<T> extends A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:17:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Bi<T> extends A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:19:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class C<T> implements A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:21:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Cc<T> implements A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:23:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Ci<T> implements A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:25:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class D<T> = Object with A<Function(T)>;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:27:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Dc<T> = Object with A<ContravariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:29:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Di<T> = Object with A<InvariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:31:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class E<T> = A<Function(T)> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:33:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Ec<T> = A<ContravariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:35:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Ei<T> = A<InvariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:37:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class F<T> extends Object with A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:39:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Fc<T> extends Object with A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:41:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Fi<T> extends Object with A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:43:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class G<T> extends A<Function(T)> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:45:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Gc<T> extends A<ContravariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:47:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Gi<T> extends A<InvariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:57:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Hii<T> extends A<InvariantUse<InvariantUse<T>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:71:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jfff<T> extends A<Function(Function(Function(T)))> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:73:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jffc<T> extends A<Function(Function(ContravariantUse<T>))> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:75:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jfcf<T> extends A<Function(ContravariantUse<Function(T)>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:77:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jfcc<T> extends A<Function(ContravariantUse<ContravariantUse<T>>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:79:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jcff<T> extends A<ContravariantUse<Function(Function(T))>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:81:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jcfc<T> extends A<ContravariantUse<Function(ContravariantUse<T>)>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:83:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jccf<T> extends A<ContravariantUse<ContravariantUse<Function(T)>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart:85:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class Jccc<T>
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef ContravariantUse<T extends core::Object* = dynamic> = (T*) →* dynamic;
-typedef InvariantUse<T extends core::Object* = dynamic> = (T*) →* T*;
-class Empty extends core::Object {
-  synthetic constructor •() → self::Empty*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class Bc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bc<self::Bc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Bi<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bi<self::Bi::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class Cc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cc<self::Cc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Ci<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ci<self::Ci::T*>*
-    : super core::Object::•()
-    ;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class Dc<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::Dc<self::Dc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Di<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::Di<self::Di::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends core::Object implements self::Empty {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super core::Object::•()
-    ;
-}
-class Ec<T extends core::Object* = dynamic> extends core::Object implements self::Empty {
-  synthetic constructor •() → self::Ec<self::Ec::T*>*
-    : super core::Object::•()
-    ;
-}
-class Ei<T extends core::Object* = dynamic> extends core::Object implements self::Empty {
-  synthetic constructor •() → self::Ei<self::Ei::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _F&Object&A<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::_F&Object&A<self::_F&Object&A::T*>*
-    : super core::Object::•()
-    ;
-}
-class F<T extends core::Object* = dynamic> extends self::_F&Object&A<self::F::T*> {
-  synthetic constructor •() → self::F<self::F::T*>*
-    : super self::_F&Object&A::•()
-    ;
-}
-abstract class _Fc&Object&A<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::_Fc&Object&A<self::_Fc&Object&A::T*>*
-    : super core::Object::•()
-    ;
-}
-class Fc<T extends core::Object* = dynamic> extends self::_Fc&Object&A<self::Fc::T*> {
-  synthetic constructor •() → self::Fc<self::Fc::T*>*
-    : super self::_Fc&Object&A::•()
-    ;
-}
-abstract class _Fi&Object&A<T extends core::Object* = dynamic> extends core::Object {
-  const synthetic constructor •() → self::_Fi&Object&A<self::_Fi&Object&A::T*>*
-    : super core::Object::•()
-    ;
-}
-class Fi<T extends core::Object* = dynamic> extends self::_Fi&Object&A<self::Fi::T*> {
-  synthetic constructor •() → self::Fi<self::Fi::T*>*
-    : super self::_Fi&Object&A::•()
-    ;
-}
-abstract class _G&A&Empty<T extends core::Object* = dynamic> extends core::Object implements self::Empty {
-  synthetic constructor •() → self::_G&A&Empty<self::_G&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-}
-class G<T extends core::Object* = dynamic> extends self::_G&A&Empty<self::G::T*> {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super self::_G&A&Empty::•()
-    ;
-}
-abstract class _Gc&A&Empty<T extends core::Object* = dynamic> extends core::Object implements self::Empty {
-  synthetic constructor •() → self::_Gc&A&Empty<self::_Gc&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-}
-class Gc<T extends core::Object* = dynamic> extends self::_Gc&A&Empty<self::Gc::T*> {
-  synthetic constructor •() → self::Gc<self::Gc::T*>*
-    : super self::_Gc&A&Empty::•()
-    ;
-}
-abstract class _Gi&A&Empty<T extends core::Object* = dynamic> extends core::Object implements self::Empty {
-  synthetic constructor •() → self::_Gi&A&Empty<self::_Gi&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-}
-class Gi<T extends core::Object* = dynamic> extends self::_Gi&A&Empty<self::Gi::T*> {
-  synthetic constructor •() → self::Gi<self::Gi::T*>*
-    : super self::_Gi&A&Empty::•()
-    ;
-}
-class Hff<T extends core::Object* = dynamic> extends self::A<((self::Hff::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hff<self::Hff::T*>*
-    : super self::A::•()
-    ;
-}
-class Hfc<T extends core::Object* = dynamic> extends self::A<((self::Hfc::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hfc<self::Hfc::T*>*
-    : super self::A::•()
-    ;
-}
-class Hcf<T extends core::Object* = dynamic> extends self::A<((self::Hcf::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hcf<self::Hcf::T*>*
-    : super self::A::•()
-    ;
-}
-class Hcc<T extends core::Object* = dynamic> extends self::A<((self::Hcc::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hcc<self::Hcc::T*>*
-    : super self::A::•()
-    ;
-}
-class Hii<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hii<self::Hii::T*>*
-    : super core::Object::•()
-    ;
-}
-class Iafc<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iafc::T*) →* dynamic) →* dynamic>*> {
-  synthetic constructor •() → self::Iafc<self::Iafc::T*>*
-    : super self::A::•()
-    ;
-}
-class Iacf<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iacf::T*) →* dynamic) →* dynamic>*> {
-  synthetic constructor •() → self::Iacf<self::Iacf::T*>*
-    : super self::A::•()
-    ;
-}
-class Ifac<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Ifac::T*) →* dynamic>*) →* dynamic> {
-  synthetic constructor •() → self::Ifac<self::Ifac::T*>*
-    : super self::A::•()
-    ;
-}
-class Ifca<T extends core::Object* = dynamic> extends self::A<((self::A<self::Ifca::T*>*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Ifca<self::Ifca::T*>*
-    : super self::A::•()
-    ;
-}
-class Icaf<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Icaf::T*) →* dynamic>*) →* dynamic> {
-  synthetic constructor •() → self::Icaf<self::Icaf::T*>*
-    : super self::A::•()
-    ;
-}
-class Icfa<T extends core::Object* = dynamic> extends self::A<((self::A<self::Icfa::T*>*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Icfa<self::Icfa::T*>*
-    : super self::A::•()
-    ;
-}
-class Jfff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfff<self::Jfff::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jffc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jffc<self::Jffc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jfcf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcf<self::Jfcf::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jfcc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcc<self::Jfcc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jcff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcff<self::Jcff::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jcfc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcfc<self::Jcfc::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jccf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccf<self::Jccf::T*>*
-    : super core::Object::•()
-    ;
-}
-class Jccc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccc<self::Jccc::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.legacy.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.legacy.expect
deleted file mode 100644
index 6beeebd..0000000
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  method bar<generic-covariant-impl Y extends self::A::X* = dynamic>() → dynamic
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  static method foo<Y extends core::Object* = dynamic>() → self::A<self::B::foo::Y*>*
-    return null;
-}
-static method baz() → dynamic {
-  self::B::foo<dynamic>().bar<core::String*>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 6beeebd..0000000
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  method bar<generic-covariant-impl Y extends self::A::X* = dynamic>() → dynamic
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  static method foo<Y extends core::Object* = dynamic>() → self::A<self::B::foo::Y*>*
-    return null;
-}
-static method baz() → dynamic {
-  self::B::foo<dynamic>().bar<core::String*>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug21938.dart.legacy.expect b/pkg/front_end/testcases/general/bug21938.dart.legacy.expect
deleted file mode 100644
index 0a2796e..0000000
--- a/pkg/front_end/testcases/general/bug21938.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::Object* x;
-  core::Function* f;
-  x.call();
-  x.call(3);
-  f.call(5, 2);
-  x.call();
-  f.call;
-  f.call(5, 2);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug21938.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug21938.dart.legacy.transformed.expect
deleted file mode 100644
index 0a2796e..0000000
--- a/pkg/front_end/testcases/general/bug21938.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::Object* x;
-  core::Function* f;
-  x.call();
-  x.call(3);
-  f.call(5, 2);
-  x.call();
-  f.call;
-  f.call(5, 2);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug30695.dart.legacy.expect b/pkg/front_end/testcases/general/bug30695.dart.legacy.expect
deleted file mode 100644
index 8f133c6..0000000
--- a/pkg/front_end/testcases/general/bug30695.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bug30695.dart:11:3: Error: Can't declare a member that conflicts with an inherited one.
-//   foo() => 42;
-//   ^^^
-// pkg/front_end/testcases/general/bug30695.dart:6:7: Context: This is the inherited member.
-//   var foo = 42;
-//       ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic foo = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method foo() → dynamic
-    return 42;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug30695.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug30695.dart.legacy.transformed.expect
deleted file mode 100644
index 8f133c6..0000000
--- a/pkg/front_end/testcases/general/bug30695.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bug30695.dart:11:3: Error: Can't declare a member that conflicts with an inherited one.
-//   foo() => 42;
-//   ^^^
-// pkg/front_end/testcases/general/bug30695.dart:6:7: Context: This is the inherited member.
-//   var foo = 42;
-//       ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic foo = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method foo() → dynamic
-    return 42;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug31124.dart.legacy.expect b/pkg/front_end/testcases/general/bug31124.dart.legacy.expect
deleted file mode 100644
index 8e65e77..0000000
--- a/pkg/front_end/testcases/general/bug31124.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bug31124.dart:1:22: Error: Expected a function body or '=>'.
-// Try adding {}.
-// var a = () => 'b';a();
-//                      ^
-//
-// pkg/front_end/testcases/general/bug31124.dart:1:19: Error: 'a' is already declared in this scope.
-// var a = () => 'b';a();
-//                   ^
-// pkg/front_end/testcases/general/bug31124.dart:1:5: Context: Previous declaration of 'a'.
-// var a = () => 'b';a();
-//     ^
-//
-import self as self;
-
-static field dynamic a;
diff --git a/pkg/front_end/testcases/general/bug31124.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug31124.dart.legacy.transformed.expect
deleted file mode 100644
index 8e65e77..0000000
--- a/pkg/front_end/testcases/general/bug31124.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/bug31124.dart:1:22: Error: Expected a function body or '=>'.
-// Try adding {}.
-// var a = () => 'b';a();
-//                      ^
-//
-// pkg/front_end/testcases/general/bug31124.dart:1:19: Error: 'a' is already declared in this scope.
-// var a = () => 'b';a();
-//                   ^
-// pkg/front_end/testcases/general/bug31124.dart:1:5: Context: Previous declaration of 'a'.
-// var a = () => 'b';a();
-//     ^
-//
-import self as self;
-
-static field dynamic a;
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.legacy.expect b/pkg/front_end/testcases/general/bug32414a.dart.legacy.expect
deleted file mode 100644
index 95ea9bc..0000000
--- a/pkg/front_end/testcases/general/bug32414a.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-
-static method test() → void {
-  dynamic a = 5;
-  dynamic b = a.toString();
-  b = 42;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug32414a.dart.legacy.transformed.expect
deleted file mode 100644
index 95ea9bc..0000000
--- a/pkg/front_end/testcases/general/bug32414a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-
-static method test() → void {
-  dynamic a = 5;
-  dynamic b = a.toString();
-  b = 42;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.legacy.expect b/pkg/front_end/testcases/general/bug32414b.dart.legacy.expect
deleted file mode 100644
index 74ec288..0000000
--- a/pkg/front_end/testcases/general/bug32414b.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::List<dynamic>* l = <dynamic>[1, "hello"];
-  core::List<core::String*>* l2 = l.map((dynamic element) → dynamic => element.toString()).toList();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug32414b.dart.legacy.transformed.expect
deleted file mode 100644
index 74ec288..0000000
--- a/pkg/front_end/testcases/general/bug32414b.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::List<dynamic>* l = <dynamic>[1, "hello"];
-  core::List<core::String*>* l2 = l.map((dynamic element) → dynamic => element.toString()).toList();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/bug32426.dart.legacy.expect b/pkg/front_end/testcases/general/bug32426.dart.legacy.expect
deleted file mode 100644
index cbea8ca..0000000
--- a/pkg/front_end/testcases/general/bug32426.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method call() → void;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call([core::int* x = #C1]) → void {}
-}
-static method main() → dynamic {
-  self::I* i = new self::C::•();
-  ([core::int*]) →* void f = i;
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/bug32426.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug32426.dart.legacy.transformed.expect
deleted file mode 100644
index cbea8ca..0000000
--- a/pkg/front_end/testcases/general/bug32426.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method call() → void;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call([core::int* x = #C1]) → void {}
-}
-static method main() → dynamic {
-  self::I* i = new self::C::•();
-  ([core::int*]) →* void f = i;
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/bug32629.dart.legacy.expect b/pkg/front_end/testcases/general/bug32629.dart.legacy.expect
deleted file mode 100644
index c26ddb4..0000000
--- a/pkg/front_end/testcases/general/bug32629.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Reducer<S extends core::Object* = dynamic> = (S*, dynamic) →* S*;
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call(dynamic a, dynamic b) → dynamic {
-    return a;
-  }
-}
-static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void {}
-static method main() → void {
-  self::foo<core::String*>(new self::A::•());
-}
diff --git a/pkg/front_end/testcases/general/bug32629.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug32629.dart.legacy.transformed.expect
deleted file mode 100644
index c26ddb4..0000000
--- a/pkg/front_end/testcases/general/bug32629.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Reducer<S extends core::Object* = dynamic> = (S*, dynamic) →* S*;
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call(dynamic a, dynamic b) → dynamic {
-    return a;
-  }
-}
-static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void {}
-static method main() → void {
-  self::foo<core::String*>(new self::A::•());
-}
diff --git a/pkg/front_end/testcases/general/bug32866.dart.legacy.expect b/pkg/front_end/testcases/general/bug32866.dart.legacy.expect
deleted file mode 100644
index 0313d48..0000000
--- a/pkg/front_end/testcases/general/bug32866.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get f() → core::String*;
-}
-class A extends core::Object implements self::B {
-  final field core::String* f;
-  constructor •(dynamic f) → self::A*
-    : self::A::f = f, super core::Object::•()
-    ;
-}
-static field dynamic a = new self::A::•("foo");
-static method main() → dynamic
-  return core::print(self::a);
diff --git a/pkg/front_end/testcases/general/bug32866.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug32866.dart.legacy.transformed.expect
deleted file mode 100644
index 0313d48..0000000
--- a/pkg/front_end/testcases/general/bug32866.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get f() → core::String*;
-}
-class A extends core::Object implements self::B {
-  final field core::String* f;
-  constructor •(dynamic f) → self::A*
-    : self::A::f = f, super core::Object::•()
-    ;
-}
-static field dynamic a = new self::A::•("foo");
-static method main() → dynamic
-  return core::print(self::a);
diff --git a/pkg/front_end/testcases/general/bug33099.dart.legacy.expect b/pkg/front_end/testcases/general/bug33099.dart.legacy.expect
deleted file mode 100644
index 56df6ac..0000000
--- a/pkg/front_end/testcases/general/bug33099.dart.legacy.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:mirrors" as mir;
-
-import "dart:mirrors";
-
-class _FailingTest extends core::Object {
-  const constructor •() → self::_FailingTest
-    : super core::Object::•()
-    ;
-}
-class MyTest extends core::Object {
-  synthetic constructor •() → self::MyTest
-    : super core::Object::•()
-    ;
-  @self::failingTest
-  method foo() → void {}
-}
-abstract class _MyTest2&Object&MyTest = core::Object with self::MyTest {
-  const synthetic constructor •() → self::_MyTest2&Object&MyTest
-    : super core::Object::•()
-    ;
-}
-class MyTest2 extends self::_MyTest2&Object&MyTest {
-  synthetic constructor •() → self::MyTest2
-    : super self::_MyTest2&Object&MyTest::•()
-    ;
-}
-static const field self::_FailingTest failingTest = const self::_FailingTest::•();
-static method main() → dynamic {
-  mir::ClassMirror classMirror = mir::reflectClass(self::MyTest2);
-  classMirror.instanceMembers.forEach((core::Symbol symbol, mir::MethodMirror memberMirror) → dynamic {
-    if(memberMirror.simpleName.==(#foo)) {
-      core::print(memberMirror);
-      core::print(self::_hasFailingTestAnnotation(memberMirror));
-    }
-  });
-}
-static method _hasFailingTestAnnotation(mir::MethodMirror method) → core::bool {
-  dynamic r = self::_hasAnnotationInstance(method, self::failingTest);
-  core::print("[_hasFailingTestAnnotation] ${method} ${r}");
-  return r;
-}
-static method _hasAnnotationInstance(mir::DeclarationMirror declaration, dynamic instance) → core::bool
-  return declaration.metadata.any((mir::InstanceMirror annotation) → dynamic {
-    core::print("annotation: ${annotation.reflectee}");
-    return core::identical(annotation.reflectee, instance);
-  });
diff --git a/pkg/front_end/testcases/general/bug33099.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug33099.dart.legacy.transformed.expect
deleted file mode 100644
index a8f940a..0000000
--- a/pkg/front_end/testcases/general/bug33099.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:mirrors" as mir;
-
-import "dart:mirrors";
-
-class _FailingTest extends core::Object {
-  const constructor •() → self::_FailingTest
-    : super core::Object::•()
-    ;
-}
-class MyTest extends core::Object {
-  synthetic constructor •() → self::MyTest
-    : super core::Object::•()
-    ;
-  @self::failingTest
-  method foo() → void {}
-}
-abstract class _MyTest2&Object&MyTest extends core::Object implements self::MyTest {
-  const synthetic constructor •() → self::_MyTest2&Object&MyTest
-    : super core::Object::•()
-    ;
-  @self::failingTest
-  method foo() → void {}
-}
-class MyTest2 extends self::_MyTest2&Object&MyTest {
-  synthetic constructor •() → self::MyTest2
-    : super self::_MyTest2&Object&MyTest::•()
-    ;
-}
-static const field self::_FailingTest failingTest = const self::_FailingTest::•();
-static method main() → dynamic {
-  mir::ClassMirror classMirror = mir::reflectClass(self::MyTest2);
-  classMirror.instanceMembers.forEach((core::Symbol symbol, mir::MethodMirror memberMirror) → dynamic {
-    if(memberMirror.simpleName.==(#foo)) {
-      core::print(memberMirror);
-      core::print(self::_hasFailingTestAnnotation(memberMirror));
-    }
-  });
-}
-static method _hasFailingTestAnnotation(mir::MethodMirror method) → core::bool {
-  dynamic r = self::_hasAnnotationInstance(method, self::failingTest);
-  core::print("[_hasFailingTestAnnotation] ${method} ${r}");
-  return r;
-}
-static method _hasAnnotationInstance(mir::DeclarationMirror declaration, dynamic instance) → core::bool
-  return declaration.metadata.any((mir::InstanceMirror annotation) → dynamic {
-    core::print("annotation: ${annotation.reflectee}");
-    return core::identical(annotation.reflectee, instance);
-  });
diff --git a/pkg/front_end/testcases/general/bug33196.dart.legacy.expect b/pkg/front_end/testcases/general/bug33196.dart.legacy.expect
deleted file mode 100644
index 76b88fe..0000000
--- a/pkg/front_end/testcases/general/bug33196.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method main() → dynamic {
-  dynamic result = self::returnsString();
-  core::print(result.runtimeType);
-}
-static method returnsString() → asy::FutureOr<core::String*>* async {
-  return "oh no";
-}
diff --git a/pkg/front_end/testcases/general/bug33196.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug33196.dart.legacy.transformed.expect
deleted file mode 100644
index ca33495..0000000
--- a/pkg/front_end/testcases/general/bug33196.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method main() → dynamic {
-  dynamic result = self::returnsString();
-  core::print(result.runtimeType);
-}
-static method returnsString() → asy::FutureOr<core::String*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::String*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::String*>();
-  asy::FutureOr<core::String*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = "oh no";
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/bug33206.dart.legacy.expect b/pkg/front_end/testcases/general/bug33206.dart.legacy.expect
deleted file mode 100644
index 3b5f290..0000000
--- a/pkg/front_end/testcases/general/bug33206.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class X extends core::Object {
-  final field dynamic x;
-  final field dynamic y;
-  constructor •(dynamic x, dynamic y) → self::X*
-    : self::X::x = x, self::X::y = y, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
-}
-class Y extends core::Object {
-  synthetic constructor •() → self::Y*
-    : super core::Object::•()
-    ;
-  method f(dynamic _) → dynamic {}
-}
-static method f1() → asy::Future<core::List<core::Object*>*>* async {
-  return <dynamic>[1];
-}
-static method f2() → core::List<core::Object*>*
-  return <dynamic>[2];
-static method f3() → asy::Future<core::Object*>* async {
-  return 3;
-}
-static method foo() → asy::Future<self::X*>* async {
-  return new self::X::•(let final dynamic #t1 = new self::Y::•() in let final dynamic #t2 = #t1.f(await self::f1()) in let final dynamic #t3 = #t1.f(self::f2()) in #t1, await self::f3());
-}
-static method main() → asy::Future<void>* async {
-  core::print(await self::foo());
-}
diff --git a/pkg/front_end/testcases/general/bug33206.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug33206.dart.legacy.transformed.expect
deleted file mode 100644
index 5691ada..0000000
--- a/pkg/front_end/testcases/general/bug33206.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,139 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class X extends core::Object {
-  final field dynamic x;
-  final field dynamic y;
-  constructor •(dynamic x, dynamic y) → self::X*
-    : self::X::x = x, self::X::y = y, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
-}
-class Y extends core::Object {
-  synthetic constructor •() → self::Y*
-    : super core::Object::•()
-    ;
-  method f(dynamic _) → dynamic {}
-}
-static method f1() → asy::Future<core::List<core::Object*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::Object*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::Object*>*>();
-  asy::FutureOr<core::List<core::Object*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = <dynamic>[1];
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method f2() → core::List<core::Object*>*
-  return <dynamic>[2];
-static method f3() → asy::Future<core::Object*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::Object*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::Object*>();
-  asy::FutureOr<core::Object*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = 3;
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method foo() → asy::Future<self::X*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<self::X*>* :async_completer = new asy::_AsyncAwaitCompleter::•<self::X*>();
-  asy::FutureOr<self::X*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L3:
-      {
-        final dynamic #t1 = new self::Y::•();
-        [yield] let dynamic #t2 = asy::_awaitHelper(self::f1(), :async_op_then, :async_op_error, :async_op) in null;
-        final dynamic #t3 = #t1.f(:result);
-        final dynamic #t4 = #t1.f(self::f2());
-        [yield] let dynamic #t5 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error, :async_op) in null;
-        :return_value = new self::X::•(#t1, :result);
-        break #L3;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → asy::Future<void>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<void>* :async_completer = new asy::_AsyncAwaitCompleter::•<void>();
-  asy::FutureOr<void>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L4:
-      {
-        [yield] let dynamic #t6 = asy::_awaitHelper(self::foo(), :async_op_then, :async_op_error, :async_op) in null;
-        core::print(:result);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/bug33298.dart.legacy.expect b/pkg/front_end/testcases/general/bug33298.dart.legacy.expect
deleted file mode 100644
index 19dcf5d..0000000
--- a/pkg/front_end/testcases/general/bug33298.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call(core::String* s) → core::String*
-    return "${s}${s}";
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method call(generic-covariant-impl self::B::T* t) → self::B::T*
-    return t;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call<T extends core::Object* = dynamic>(self::C::call::T* t) → self::C::call::T*
-    return t;
-}
-static method test() → dynamic {
-  self::A* a = new self::A::•();
-  core::List<core::String*>* list1 = <dynamic>["a", "b", "c"].map(a.call).toList();
-  core::List<core::String*>* list2 = <dynamic>["a", "b", "c"].map(a).toList();
-  self::B<core::String*>* b = new self::B::•<dynamic>();
-  core::List<core::String*>* list3 = <dynamic>["a", "b", "c"].map(b.call).toList();
-  core::List<core::String*>* list4 = <dynamic>["a", "b", "c"].map(b).toList();
-  self::C* c = new self::C::•();
-  core::List<core::String*>* list5 = <dynamic>["a", "b", "c"].map(c.call).toList();
-  core::List<core::String*>* list6 = <dynamic>["a", "b", "c"].map(c).toList();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug33298.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug33298.dart.legacy.transformed.expect
deleted file mode 100644
index 19dcf5d..0000000
--- a/pkg/front_end/testcases/general/bug33298.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call(core::String* s) → core::String*
-    return "${s}${s}";
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method call(generic-covariant-impl self::B::T* t) → self::B::T*
-    return t;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call<T extends core::Object* = dynamic>(self::C::call::T* t) → self::C::call::T*
-    return t;
-}
-static method test() → dynamic {
-  self::A* a = new self::A::•();
-  core::List<core::String*>* list1 = <dynamic>["a", "b", "c"].map(a.call).toList();
-  core::List<core::String*>* list2 = <dynamic>["a", "b", "c"].map(a).toList();
-  self::B<core::String*>* b = new self::B::•<dynamic>();
-  core::List<core::String*>* list3 = <dynamic>["a", "b", "c"].map(b.call).toList();
-  core::List<core::String*>* list4 = <dynamic>["a", "b", "c"].map(b).toList();
-  self::C* c = new self::C::•();
-  core::List<core::String*>* list5 = <dynamic>["a", "b", "c"].map(c.call).toList();
-  core::List<core::String*>* list6 = <dynamic>["a", "b", "c"].map(c).toList();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug34511.dart.legacy.expect b/pkg/front_end/testcases/general/bug34511.dart.legacy.expect
deleted file mode 100644
index f743320..0000000
--- a/pkg/front_end/testcases/general/bug34511.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _B&Object&A<Z extends core::Object* = dynamic> = core::Object with self::A<() →* self::_B&Object&A::Z*> {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z*>*
-    : super core::Object::•()
-    ;
-}
-class B<Z extends core::Object* = dynamic> extends self::_B&Object&A<self::B::Z*> {
-  synthetic constructor •() → self::B<self::B::Z*>*
-    : super self::_B&Object&A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug34511.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug34511.dart.legacy.transformed.expect
deleted file mode 100644
index 534c2d3..0000000
--- a/pkg/front_end/testcases/general/bug34511.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _B&Object&A<Z extends core::Object* = dynamic> extends core::Object implements self::A<() →* self::_B&Object&A::Z*> {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z*>*
-    : super core::Object::•()
-    ;
-}
-class B<Z extends core::Object* = dynamic> extends self::_B&Object&A<self::B::Z*> {
-  synthetic constructor •() → self::B<self::B::Z*>*
-    : super self::_B&Object&A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug35470.dart.legacy.expect b/pkg/front_end/testcases/general/bug35470.dart.legacy.expect
deleted file mode 100644
index 3070b77..0000000
--- a/pkg/front_end/testcases/general/bug35470.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  method foo<generic-covariant-impl Y extends self::A::X* = dynamic>() → dynamic {}
-}
-class B extends self::A<dynamic> {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method bar(self::B* b) → dynamic {
-  b.foo();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug35470.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug35470.dart.legacy.transformed.expect
deleted file mode 100644
index 3070b77..0000000
--- a/pkg/front_end/testcases/general/bug35470.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  method foo<generic-covariant-impl Y extends self::A::X* = dynamic>() → dynamic {}
-}
-class B extends self::A<dynamic> {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method bar(self::B* b) → dynamic {
-  b.foo();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug37476.dart.legacy.expect b/pkg/front_end/testcases/general/bug37476.dart.legacy.expect
deleted file mode 100644
index e8dd98c..0000000
--- a/pkg/front_end/testcases/general/bug37476.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → <S extends self::A::T* = dynamic>(S*) →* void {
-    core::print("foo: T = ${self::A::T*}");
-    return <S extends self::A::T* = dynamic>(S* a) → dynamic {};
-  }
-}
-class B<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → (self::B::T*) →* void {
-    core::print("foo: T = ${self::B::T*}");
-    return (self::B::T* a) → dynamic {};
-  }
-}
-static field self::A<core::num*>* a = new self::A::•<core::int*>();
-static field self::B<core::num*>* b = new self::B::•<core::int*>();
-static method main() → dynamic {
-  try {
-    self::a.foo();
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    self::b.foo();
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general/bug37476.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/bug37476.dart.legacy.transformed.expect
deleted file mode 100644
index e8dd98c..0000000
--- a/pkg/front_end/testcases/general/bug37476.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → <S extends self::A::T* = dynamic>(S*) →* void {
-    core::print("foo: T = ${self::A::T*}");
-    return <S extends self::A::T* = dynamic>(S* a) → dynamic {};
-  }
-}
-class B<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → (self::B::T*) →* void {
-    core::print("foo: T = ${self::B::T*}");
-    return (self::B::T* a) → dynamic {};
-  }
-}
-static field self::A<core::num*>* a = new self::A::•<core::int*>();
-static field self::B<core::num*>* b = new self::B::•<core::int*>();
-static method main() → dynamic {
-  try {
-    self::a.foo();
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    self::b.foo();
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general/call.dart.legacy.expect b/pkg/front_end/testcases/general/call.dart.legacy.expect
deleted file mode 100644
index 07f4723..0000000
--- a/pkg/front_end/testcases/general/call.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Callable extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method call(dynamic x) → dynamic {
-    return "string";
-  }
-}
-class CallableGetter extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get call() → dynamic
-    return new self::Callable::•();
-}
-static method main() → dynamic {
-  dynamic closure = (dynamic x) → dynamic => x;
-  dynamic int1 = closure.call(1);
-  dynamic int2 = closure.call(1);
-  dynamic int3 = closure.call.call(1);
-  dynamic int4 = closure.call.call.call(1);
-  dynamic callable = new self::Callable::•();
-  dynamic string1 = callable.call(1);
-  dynamic string2 = callable.call(1);
-  dynamic string3 = callable.call.call(1);
-  dynamic string4 = callable.call.call.call(1);
-  dynamic callableGetter = new self::CallableGetter::•();
-  dynamic string5 = callableGetter.call(1);
-  dynamic string6 = callableGetter.call(1);
-  dynamic string7 = callableGetter.call.call(1);
-  dynamic string8 = callableGetter.call.call.call(1);
-  dynamic nothing1 = closure.call();
-  dynamic nothing2 = closure.call();
-  dynamic nothing3 = closure.call.call();
-  dynamic nothing4 = closure.call.call.call();
-  dynamic nothing5 = callable.call();
-  dynamic nothing6 = callable.call();
-  dynamic nothing7 = callable.call.call();
-  dynamic nothing8 = callable.call.call.call();
-  dynamic nothing9 = callableGetter.call();
-  dynamic nothing10 = callableGetter.call();
-  dynamic nothing11 = callableGetter.call.call();
-  dynamic nothing12 = callableGetter.call.call.call();
-}
diff --git a/pkg/front_end/testcases/general/cascade.dart.legacy.expect b/pkg/front_end/testcases/general/cascade.dart.legacy.expect
deleted file mode 100644
index f2cd187..0000000
--- a/pkg/front_end/testcases/general/cascade.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic list = let final dynamic #t1 = <dynamic>[1] in let final dynamic #t2 = #t1.add(2) in let final dynamic #t3 = #t1.add(3) in let final dynamic #t4 = #t1.addAll(<dynamic>[4, 5]) in #t1;
-  core::print(list);
-  let final dynamic #t5 = list in let final dynamic #t6 = #t5.add(2) in let final dynamic #t7 = #t5.length in let final dynamic #t8 = #t5.length = 0 in #t5;
-  core::print(list);
-  let final dynamic #t9 = list in let final dynamic #t10 = #t9.add(2) in let final dynamic #t11 = #t9.[](0) in let final dynamic #t12 = #t9.[]=(0, 87) in #t9;
-  core::print(list);
-  list = let final dynamic #t13 = <dynamic>[<dynamic>[1]] in let final dynamic #t14 = #t13.first.last.toString() in let final dynamic #t15 = #t13.first.[](0).toString() in let final dynamic #t16 = #t13.[](0).last.toString() in #t13;
-  core::print(list);
-}
diff --git a/pkg/front_end/testcases/general/cascade.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/cascade.dart.legacy.transformed.expect
deleted file mode 100644
index f2cd187..0000000
--- a/pkg/front_end/testcases/general/cascade.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic list = let final dynamic #t1 = <dynamic>[1] in let final dynamic #t2 = #t1.add(2) in let final dynamic #t3 = #t1.add(3) in let final dynamic #t4 = #t1.addAll(<dynamic>[4, 5]) in #t1;
-  core::print(list);
-  let final dynamic #t5 = list in let final dynamic #t6 = #t5.add(2) in let final dynamic #t7 = #t5.length in let final dynamic #t8 = #t5.length = 0 in #t5;
-  core::print(list);
-  let final dynamic #t9 = list in let final dynamic #t10 = #t9.add(2) in let final dynamic #t11 = #t9.[](0) in let final dynamic #t12 = #t9.[]=(0, 87) in #t9;
-  core::print(list);
-  list = let final dynamic #t13 = <dynamic>[<dynamic>[1]] in let final dynamic #t14 = #t13.first.last.toString() in let final dynamic #t15 = #t13.first.[](0).toString() in let final dynamic #t16 = #t13.[](0).last.toString() in #t13;
-  core::print(list);
-}
diff --git a/pkg/front_end/testcases/general/casts.dart.legacy.expect b/pkg/front_end/testcases/general/casts.dart.legacy.expect
deleted file mode 100644
index bfac5fe..0000000
--- a/pkg/front_end/testcases/general/casts.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("" as core::String*);
-  core::print(1 as core::int*);
-  core::print(1.0 as core::double*);
-  core::print("" is core::String*);
-  core::print("" is core::int*);
-  core::print("" is core::double*);
-  core::print(1 is core::String*);
-  core::print(1 is core::int*);
-  core::print(1 is core::double*);
-  core::print(1.0 is core::String*);
-  core::print(1.0 is core::int*);
-  core::print(1.0 is core::double*);
-}
diff --git a/pkg/front_end/testcases/general/casts.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/casts.dart.legacy.transformed.expect
deleted file mode 100644
index bfac5fe..0000000
--- a/pkg/front_end/testcases/general/casts.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("" as core::String*);
-  core::print(1 as core::int*);
-  core::print(1.0 as core::double*);
-  core::print("" is core::String*);
-  core::print("" is core::int*);
-  core::print("" is core::double*);
-  core::print(1 is core::String*);
-  core::print(1 is core::int*);
-  core::print(1 is core::double*);
-  core::print(1.0 is core::String*);
-  core::print(1.0 is core::int*);
-  core::print(1.0 is core::double*);
-}
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.legacy.expect
deleted file mode 100644
index 40bd224..0000000
--- a/pkg/front_end/testcases/general/check_deferred_allocation.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in new def::C::•());
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.legacy.transformed.expect
deleted file mode 100644
index 40bd224..0000000
--- a/pkg/front_end/testcases/general/check_deferred_allocation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in new def::C::•());
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.legacy.expect
deleted file mode 100644
index 3ed87a5..0000000
--- a/pkg/front_end/testcases/general/check_deferred_as_check.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/check_deferred_as_check.dart:9:8: Warning: The type 'C' is deferred loaded via prefix 'lib' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'lib' or use a supertype of 'C' that isn't deferred.
-//   x as lib.C;
-//        ^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test(dynamic x) → dynamic {
-  x as invalid-type;
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.legacy.transformed.expect
deleted file mode 100644
index 3ed87a5..0000000
--- a/pkg/front_end/testcases/general/check_deferred_as_check.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/check_deferred_as_check.dart:9:8: Warning: The type 'C' is deferred loaded via prefix 'lib' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'lib' or use a supertype of 'C' that isn't deferred.
-//   x as lib.C;
-//        ^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test(dynamic x) → dynamic {
-  x as invalid-type;
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.legacy.expect
deleted file mode 100644
index 3dbbc1e..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_args.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = self::m2();
-  let final dynamic #t2 = CheckLibraryIsLoaded(lib) in def::m(self::m2());
-}
-static method m2() → dynamic
-  return 1;
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.legacy.transformed.expect
deleted file mode 100644
index 3dbbc1e..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_args.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = self::m2();
-  let final dynamic #t2 = CheckLibraryIsLoaded(lib) in def::m(self::m2());
-}
-static method m2() → dynamic
-  return 1;
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.legacy.expect
deleted file mode 100644
index 6f1dd92..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic async {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(await LoadLibrary(lib));
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.legacy.transformed.expect
deleted file mode 100644
index d029587..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        final dynamic #t1 = CheckLibraryIsLoaded(lib);
-        [yield] let dynamic #t2 = asy::_awaitHelper(LoadLibrary(lib), :async_op_then, :async_op_error, :async_op) in null;
-        def::m(:result);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.legacy.expect
deleted file mode 100644
index 298ec35..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(3);
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.legacy.transformed.expect
deleted file mode 100644
index 298ec35..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::m(3);
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.legacy.expect
deleted file mode 100644
index 4c65217..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = 2;
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.legacy.transformed.expect
deleted file mode 100644
index 4c65217..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x = 2;
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.legacy.expect
deleted file mode 100644
index 42e59fc..0000000
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/check_deferred_is_check.dart:9:14: Warning: The type 'C' is deferred loaded via prefix 'lib' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'lib' or use a supertype of 'C' that isn't deferred.
-//   print(x is lib.C);
-//              ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test(dynamic x) → dynamic {
-  core::print(x is invalid-type);
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.legacy.transformed.expect
deleted file mode 100644
index 42e59fc..0000000
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/check_deferred_is_check.dart:9:14: Warning: The type 'C' is deferred loaded via prefix 'lib' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'lib' or use a supertype of 'C' that isn't deferred.
-//   print(x is lib.C);
-//              ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test(dynamic x) → dynamic {
-  core::print(x is invalid-type);
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.legacy.expect
deleted file mode 100644
index c836773..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print((let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x).+(1));
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.legacy.transformed.expect
deleted file mode 100644
index c836773..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print((let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x).+(1));
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.legacy.expect
deleted file mode 100644
index 9b7e75f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::C::y);
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.legacy.transformed.expect
deleted file mode 100644
index 9b7e75f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::C::y);
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.legacy.expect
deleted file mode 100644
index d50ba93..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::C*);
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.legacy.transformed.expect
deleted file mode 100644
index d50ba93..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::C*);
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.legacy.expect
deleted file mode 100644
index 891d421..0000000
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::C::m());
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.legacy.transformed.expect
deleted file mode 100644
index 891d421..0000000
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  core::print(let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::C::m());
-}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.legacy.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.legacy.expect
deleted file mode 100644
index 5b98de1..0000000
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/check_deferred_type_declaration.dart:9:3: Warning: The type 'C' is deferred loaded via prefix 'lib' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'lib' or use a supertype of 'C' that isn't deferred.
-//   lib.C x = null;
-//   ^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  return self::test();
-static method test() → dynamic {
-  invalid-type x = null;
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.legacy.transformed.expect
deleted file mode 100644
index 5b98de1..0000000
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/check_deferred_type_declaration.dart:9:3: Warning: The type 'C' is deferred loaded via prefix 'lib' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'lib' or use a supertype of 'C' that isn't deferred.
-//   lib.C x = null;
-//   ^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  return self::test();
-static method test() → dynamic {
-  invalid-type x = null;
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.legacy.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.legacy.expect
deleted file mode 100644
index 84a0f0e..0000000
--- a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic f = new self::C::_circular(null);
-  constructor _circular(dynamic f) → self::C*
-    : self::C::f = f, super core::Object::•()
-    ;
-}
-static field dynamic x = new self::C::_circular(null);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.legacy.transformed.expect
deleted file mode 100644
index 84a0f0e..0000000
--- a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic f = new self::C::_circular(null);
-  constructor _circular(dynamic f) → self::C*
-    : self::C::f = f, super core::Object::•()
-    ;
-}
-static field dynamic x = new self::C::_circular(null);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/classes.dart.legacy.expect b/pkg/front_end/testcases/general/classes.dart.legacy.expect
deleted file mode 100644
index f924626..0000000
--- a/pkg/front_end/testcases/general/classes.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x;
-  final field core::int* y;
-  constructor •(core::int* y) → self::A*
-    : self::A::y = y, self::A::x = 42, super core::Object::•()
-    ;
-  method method() → dynamic {
-    core::print("A.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
-    core::print(this);
-    core::print(this.{core::Object::runtimeType});
-  }
-}
-class B extends self::A {
-  constructor •(dynamic x) → self::B*
-    : super self::A::•(x)
-    ;
-  method method() → dynamic {
-    core::print("B.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
-    super.{self::A::method}();
-  }
-}
-static method main() → dynamic {
-  self::A* a = new self::A::•(87);
-  self::B* b = new self::B::•(117);
-  a.method();
-  b.method();
-}
diff --git a/pkg/front_end/testcases/general/classes.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/classes.dart.legacy.transformed.expect
deleted file mode 100644
index f924626..0000000
--- a/pkg/front_end/testcases/general/classes.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x;
-  final field core::int* y;
-  constructor •(core::int* y) → self::A*
-    : self::A::y = y, self::A::x = 42, super core::Object::•()
-    ;
-  method method() → dynamic {
-    core::print("A.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
-    core::print(this);
-    core::print(this.{core::Object::runtimeType});
-  }
-}
-class B extends self::A {
-  constructor •(dynamic x) → self::B*
-    : super self::A::•(x)
-    ;
-  method method() → dynamic {
-    core::print("B.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
-    super.{self::A::method}();
-  }
-}
-static method main() → dynamic {
-  self::A* a = new self::A::•(87);
-  self::B* b = new self::B::•(117);
-  a.method();
-  b.method();
-}
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.legacy.expect b/pkg/front_end/testcases/general/clone_function_type.dart.legacy.expect
deleted file mode 100644
index e247fb9..0000000
--- a/pkg/front_end/testcases/general/clone_function_type.dart.legacy.expect
+++ /dev/null
@@ -1,571 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:22:51: Error: Expected an identifier, but got '}'.
-// class Fm1<Z> extends Object with Am1<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:46:45: Error: Expected an identifier, but got '}'.
-// class Qm1<Z> = Object with Am1<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:77:51: Error: Expected an identifier, but got '}'.
-// class Fm2<Z> extends Object with Am2<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:105:45: Error: Expected an identifier, but got '}'.
-// class Qm2<Z> = Object with Am2<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:134:28: Error: Expected an identifier, but got '}'.
-// typedef TdF = Function({int});
-//                            ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:190:34: Error: Expected an identifier, but got '}'.
-// class Ef1<X extends Function({int})> {
-//                                  ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef TdB = (core::int*) →* dynamic;
-typedef TdC = (core::int*) →* dynamic;
-typedef TdD = () →* core::int*;
-typedef TdE = () →* dynamic;
-typedef TdF = () →* dynamic;
-typedef TdG = ({x: core::int*}) →* dynamic;
-typedef TdH = ([core::int*]) →* dynamic;
-typedef TdI = ([core::int*]) →* dynamic;
-typedef TdJ = (core::Function*) →* dynamic;
-typedef TdK = () →* (() →* core::Function*) →* dynamic;
-class Am1<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am1<self::Am1::X*, self::Am1::Y*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _Bm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Bm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Bm1<Z extends core::Object* = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z*> {
-  synthetic constructor •() → self::Bm1<self::Bm1::Z*>*
-    : super self::_Bm1&Object&Am1::•()
-    ;
-}
-abstract class _Cm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Cm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Cm1&Object&Am1<self::_Cm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Cm1<Z extends core::Object* = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z*> {
-  synthetic constructor •() → self::Cm1<self::Cm1::Z*>*
-    : super self::_Cm1&Object&Am1::•()
-    ;
-}
-abstract class _Dm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::_Dm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Dm1&Object&Am1<self::_Dm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Dm1<Z extends core::Object* = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z*> {
-  synthetic constructor •() → self::Dm1<self::Dm1::Z*>*
-    : super self::_Dm1&Object&Am1::•()
-    ;
-}
-abstract class _Em1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::_Em1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Em1&Object&Am1<self::_Em1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Em1<Z extends core::Object* = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z*> {
-  synthetic constructor •() → self::Em1<self::Em1::Z*>*
-    : super self::_Em1&Object&Am1::•()
-    ;
-}
-abstract class _Fm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::_Fm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Fm1&Object&Am1<self::_Fm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Fm1<Z extends core::Object* = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z*> {
-  synthetic constructor •() → self::Fm1<self::Fm1::Z*>*
-    : super self::_Fm1&Object&Am1::•()
-    ;
-}
-abstract class _Gm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::_Gm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Gm1&Object&Am1<self::_Gm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Gm1<Z extends core::Object* = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z*> {
-  synthetic constructor •() → self::Gm1<self::Gm1::Z*>*
-    : super self::_Gm1&Object&Am1::•()
-    ;
-}
-abstract class _Hm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::_Hm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Hm1&Object&Am1<self::_Hm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Hm1<Z extends core::Object* = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z*> {
-  synthetic constructor •() → self::Hm1<self::Hm1::Z*>*
-    : super self::_Hm1&Object&Am1::•()
-    ;
-}
-abstract class _Im1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::_Im1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Im1&Object&Am1<self::_Im1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Im1<Z extends core::Object* = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z*> {
-  synthetic constructor •() → self::Im1<self::Im1::Z*>*
-    : super self::_Im1&Object&Am1::•()
-    ;
-}
-abstract class _Jm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::_Jm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Jm1&Object&Am1<self::_Jm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Jm1<Z extends core::Object* = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z*> {
-  synthetic constructor •() → self::Jm1<self::Jm1::Z*>*
-    : super self::_Jm1&Object&Am1::•()
-    ;
-}
-abstract class _Km1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::_Km1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Km1&Object&Am1<self::_Km1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Km1<Z extends core::Object* = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z*> {
-  synthetic constructor •() → self::Km1<self::Km1::Z*>*
-    : super self::_Km1&Object&Am1::•()
-    ;
-}
-abstract class _Lm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::_Lm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Lm1&Object&Am1<self::_Lm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Lm1<Z extends core::Object* = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z*> {
-  synthetic constructor •() → self::Lm1<self::Lm1::Z*>*
-    : super self::_Lm1&Object&Am1::•()
-    ;
-}
-class Mm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Mm1::Z*> {
-  const synthetic constructor •() → self::Mm1<self::Mm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Nm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Nm1::Z*> {
-  const synthetic constructor •() → self::Nm1<self::Nm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Om1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::Om1::Z*> {
-  const synthetic constructor •() → self::Om1<self::Om1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Pm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Pm1::Z*> {
-  const synthetic constructor •() → self::Pm1<self::Pm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Qm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Qm1::Z*> {
-  const synthetic constructor •() → self::Qm1<self::Qm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Rm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::Rm1::Z*> {
-  const synthetic constructor •() → self::Rm1<self::Rm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Sm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Sm1::Z*> {
-  const synthetic constructor •() → self::Sm1<self::Sm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Tm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Tm1::Z*> {
-  const synthetic constructor •() → self::Tm1<self::Tm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Um1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::Um1::Z*> {
-  const synthetic constructor •() → self::Um1<self::Um1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Vm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::Vm1::Z*> {
-  const synthetic constructor •() → self::Vm1<self::Vm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Wm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::Wm1::Z*> {
-  const synthetic constructor •() → self::Wm1<self::Wm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Am2<X extends () →* dynamic = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am2<self::Am2::X*, self::Am2::Y*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _Bm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Bm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Bm2<Z extends core::Object* = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z*> {
-  synthetic constructor •() → self::Bm2<self::Bm2::Z*>*
-    : super self::_Bm2&Object&Am2::•()
-    ;
-}
-abstract class _Cm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Cm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Cm2&Object&Am2<self::_Cm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Cm2<Z extends core::Object* = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z*> {
-  synthetic constructor •() → self::Cm2<self::Cm2::Z*>*
-    : super self::_Cm2&Object&Am2::•()
-    ;
-}
-abstract class _Dm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::_Dm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Dm2&Object&Am2<self::_Dm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Dm2<Z extends core::Object* = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z*> {
-  synthetic constructor •() → self::Dm2<self::Dm2::Z*>*
-    : super self::_Dm2&Object&Am2::•()
-    ;
-}
-abstract class _Em2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::_Em2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Em2&Object&Am2<self::_Em2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Em2<Z extends core::Object* = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z*> {
-  synthetic constructor •() → self::Em2<self::Em2::Z*>*
-    : super self::_Em2&Object&Am2::•()
-    ;
-}
-abstract class _Fm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::_Fm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Fm2&Object&Am2<self::_Fm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Fm2<Z extends core::Object* = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z*> {
-  synthetic constructor •() → self::Fm2<self::Fm2::Z*>*
-    : super self::_Fm2&Object&Am2::•()
-    ;
-}
-abstract class _Gm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::_Gm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Gm2&Object&Am2<self::_Gm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Gm2<Z extends core::Object* = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z*> {
-  synthetic constructor •() → self::Gm2<self::Gm2::Z*>*
-    : super self::_Gm2&Object&Am2::•()
-    ;
-}
-abstract class _Hm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::_Hm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Hm2&Object&Am2<self::_Hm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Hm2<Z extends core::Object* = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z*> {
-  synthetic constructor •() → self::Hm2<self::Hm2::Z*>*
-    : super self::_Hm2&Object&Am2::•()
-    ;
-}
-abstract class _Im2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::_Im2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Im2&Object&Am2<self::_Im2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Im2<Z extends core::Object* = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z*> {
-  synthetic constructor •() → self::Im2<self::Im2::Z*>*
-    : super self::_Im2&Object&Am2::•()
-    ;
-}
-abstract class _Jm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::_Jm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Jm2&Object&Am2<self::_Jm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Jm2<Z extends core::Object* = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z*> {
-  synthetic constructor •() → self::Jm2<self::Jm2::Z*>*
-    : super self::_Jm2&Object&Am2::•()
-    ;
-}
-abstract class _Km2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::_Km2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Km2&Object&Am2<self::_Km2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Km2<Z extends core::Object* = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z*> {
-  synthetic constructor •() → self::Km2<self::Km2::Z*>*
-    : super self::_Km2&Object&Am2::•()
-    ;
-}
-abstract class _Lm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::_Lm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Lm2&Object&Am2<self::_Lm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Lm2<Z extends core::Object* = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z*> {
-  synthetic constructor •() → self::Lm2<self::Lm2::Z*>*
-    : super self::_Lm2&Object&Am2::•()
-    ;
-}
-class Mm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Mm2::Z*> {
-  const synthetic constructor •() → self::Mm2<self::Mm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Nm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Nm2::Z*> {
-  const synthetic constructor •() → self::Nm2<self::Nm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Om2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::Om2::Z*> {
-  const synthetic constructor •() → self::Om2<self::Om2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Pm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Pm2::Z*> {
-  const synthetic constructor •() → self::Pm2<self::Pm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Qm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Qm2::Z*> {
-  const synthetic constructor •() → self::Qm2<self::Qm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Rm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::Rm2::Z*> {
-  const synthetic constructor •() → self::Rm2<self::Rm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Sm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Sm2::Z*> {
-  const synthetic constructor •() → self::Sm2<self::Sm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Tm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Tm2::Z*> {
-  const synthetic constructor •() → self::Tm2<self::Tm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Um2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::Um2::Z*> {
-  const synthetic constructor •() → self::Um2<self::Um2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Vm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::Vm2::Z*> {
-  const synthetic constructor •() → self::Vm2<self::Vm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Wm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::Wm2::Z*> {
-  const synthetic constructor •() → self::Wm2<self::Wm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Am3<L extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am3<self::Am3::L*, self::Am3::Y*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _Bm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Bm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Bm3<Z extends core::Object* = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z*> {
-  synthetic constructor •() → self::Bm3<self::Bm3::Z*>*
-    : super self::_Bm3&Object&Am3::•()
-    ;
-}
-abstract class _Cm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Cm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Cm3&Object&Am3<self::_Cm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Cm3<Z extends core::Object* = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z*> {
-  synthetic constructor •() → self::Cm3<self::Cm3::Z*>*
-    : super self::_Cm3&Object&Am3::•()
-    ;
-}
-abstract class _Dm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* core::int*, self::_Dm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Dm3&Object&Am3<self::_Dm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Dm3<Z extends core::Object* = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z*> {
-  synthetic constructor •() → self::Dm3<self::Dm3::Z*>*
-    : super self::_Dm3&Object&Am3::•()
-    ;
-}
-abstract class _Em3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* dynamic, self::_Em3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Em3&Object&Am3<self::_Em3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Em3<Z extends core::Object* = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z*> {
-  synthetic constructor •() → self::Em3<self::Em3::Z*>*
-    : super self::_Em3&Object&Am3::•()
-    ;
-}
-abstract class _Fm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* dynamic, self::_Fm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Fm3&Object&Am3<self::_Fm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Fm3<Z extends core::Object* = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z*> {
-  synthetic constructor •() → self::Fm3<self::Fm3::Z*>*
-    : super self::_Fm3&Object&Am3::•()
-    ;
-}
-abstract class _Gm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<({x: core::int*}) →* dynamic, self::_Gm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Gm3&Object&Am3<self::_Gm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Gm3<Z extends core::Object* = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z*> {
-  synthetic constructor •() → self::Gm3<self::Gm3::Z*>*
-    : super self::_Gm3&Object&Am3::•()
-    ;
-}
-abstract class _Hm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<([core::int*]) →* dynamic, self::_Hm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Hm3&Object&Am3<self::_Hm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Hm3<Z extends core::Object* = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z*> {
-  synthetic constructor •() → self::Hm3<self::Hm3::Z*>*
-    : super self::_Hm3&Object&Am3::•()
-    ;
-}
-abstract class _Im3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<([core::int*]) →* dynamic, self::_Im3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Im3&Object&Am3<self::_Im3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Im3<Z extends core::Object* = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z*> {
-  synthetic constructor •() → self::Im3<self::Im3::Z*>*
-    : super self::_Im3&Object&Am3::•()
-    ;
-}
-abstract class _Jm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::Function*) →* dynamic, self::_Jm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Jm3&Object&Am3<self::_Jm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Jm3<Z extends core::Object* = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z*> {
-  synthetic constructor •() → self::Jm3<self::Jm3::Z*>*
-    : super self::_Jm3&Object&Am3::•()
-    ;
-}
-abstract class _Km3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* (() →* core::Function*) →* dynamic, self::_Km3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Km3&Object&Am3<self::_Km3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Km3<Z extends core::Object* = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z*> {
-  synthetic constructor •() → self::Km3<self::Km3::Z*>*
-    : super self::_Km3&Object&Am3::•()
-    ;
-}
-class Af1<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Af1<self::Af1::foo::X*>*
-    return null;
-}
-class Bf1<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf1<self::Bf1::foo::X*>*
-    return null;
-}
-class Cf1<X extends () →* core::int* = dynamic> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Cf1<self::Cf1::foo::X*>*
-    return null;
-}
-class Df1<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Df1<self::Df1::foo::X*>*
-    return null;
-}
-class Ef1<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef1<self::Ef1::foo::X*>*
-    return null;
-}
-class Ff1<X extends ({x: core::int*}) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Ff1<self::Ff1::foo::X*>*
-    return null;
-}
-class Gf1<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Gf1<self::Gf1::foo::X*>*
-    return null;
-}
-class Hf1<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf1<self::Hf1::foo::X*>*
-    return null;
-}
-class If1<X extends core::Function* = dynamic> extends core::Object {
-  static factory foo<X extends core::Function* = dynamic>() → self::If1<self::If1::foo::X*>*
-    return null;
-}
-class Jf1<X extends (core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf1<self::Jf1::foo::X*>*
-    return null;
-}
-class Kf1<X extends () →* (() →* core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf1<self::Kf1::foo::X*>*
-    return null;
-}
-class Bf2<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf2<self::Bf2::foo::X*>*
-    return null;
-}
-class Cf2<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Cf2<self::Cf2::foo::X*>*
-    return null;
-}
-class Df2<X extends () →* core::int* = dynamic> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Df2<self::Df2::foo::X*>*
-    return null;
-}
-class Ef2<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef2<self::Ef2::foo::X*>*
-    return null;
-}
-class Ff2<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ff2<self::Ff2::foo::X*>*
-    return null;
-}
-class Gf2<X extends ({x: core::int*}) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Gf2<self::Gf2::foo::X*>*
-    return null;
-}
-class Hf2<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf2<self::Hf2::foo::X*>*
-    return null;
-}
-class If2<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::If2<self::If2::foo::X*>*
-    return null;
-}
-class Jf2<X extends (core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf2<self::Jf2::foo::X*>*
-    return null;
-}
-class Kf2<X extends () →* (() →* core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf2<self::Kf2::foo::X*>*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/clone_function_type.dart.legacy.transformed.expect
deleted file mode 100644
index c7ef2be..0000000
--- a/pkg/front_end/testcases/general/clone_function_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,571 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:22:51: Error: Expected an identifier, but got '}'.
-// class Fm1<Z> extends Object with Am1<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:46:45: Error: Expected an identifier, but got '}'.
-// class Qm1<Z> = Object with Am1<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:77:51: Error: Expected an identifier, but got '}'.
-// class Fm2<Z> extends Object with Am2<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:105:45: Error: Expected an identifier, but got '}'.
-// class Qm2<Z> = Object with Am2<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:134:28: Error: Expected an identifier, but got '}'.
-// typedef TdF = Function({int});
-//                            ^
-//
-// pkg/front_end/testcases/general/clone_function_type.dart:190:34: Error: Expected an identifier, but got '}'.
-// class Ef1<X extends Function({int})> {
-//                                  ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef TdB = (core::int*) →* dynamic;
-typedef TdC = (core::int*) →* dynamic;
-typedef TdD = () →* core::int*;
-typedef TdE = () →* dynamic;
-typedef TdF = () →* dynamic;
-typedef TdG = ({x: core::int*}) →* dynamic;
-typedef TdH = ([core::int*]) →* dynamic;
-typedef TdI = ([core::int*]) →* dynamic;
-typedef TdJ = (core::Function*) →* dynamic;
-typedef TdK = () →* (() →* core::Function*) →* dynamic;
-class Am1<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am1<self::Am1::X*, self::Am1::Y*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _Bm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::int*) →* dynamic, self::_Bm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Bm1<Z extends core::Object* = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z*> {
-  synthetic constructor •() → self::Bm1<self::Bm1::Z*>*
-    : super self::_Bm1&Object&Am1::•()
-    ;
-}
-abstract class _Cm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::int*) →* dynamic, self::_Cm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Cm1&Object&Am1<self::_Cm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Cm1<Z extends core::Object* = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z*> {
-  synthetic constructor •() → self::Cm1<self::Cm1::Z*>*
-    : super self::_Cm1&Object&Am1::•()
-    ;
-}
-abstract class _Dm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* core::int*, self::_Dm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Dm1&Object&Am1<self::_Dm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Dm1<Z extends core::Object* = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z*> {
-  synthetic constructor •() → self::Dm1<self::Dm1::Z*>*
-    : super self::_Dm1&Object&Am1::•()
-    ;
-}
-abstract class _Em1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* dynamic, self::_Em1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Em1&Object&Am1<self::_Em1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Em1<Z extends core::Object* = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z*> {
-  synthetic constructor •() → self::Em1<self::Em1::Z*>*
-    : super self::_Em1&Object&Am1::•()
-    ;
-}
-abstract class _Fm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* dynamic, self::_Fm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Fm1&Object&Am1<self::_Fm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Fm1<Z extends core::Object* = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z*> {
-  synthetic constructor •() → self::Fm1<self::Fm1::Z*>*
-    : super self::_Fm1&Object&Am1::•()
-    ;
-}
-abstract class _Gm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<({x: core::int*}) →* dynamic, self::_Gm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Gm1&Object&Am1<self::_Gm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Gm1<Z extends core::Object* = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z*> {
-  synthetic constructor •() → self::Gm1<self::Gm1::Z*>*
-    : super self::_Gm1&Object&Am1::•()
-    ;
-}
-abstract class _Hm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<([core::int*]) →* dynamic, self::_Hm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Hm1&Object&Am1<self::_Hm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Hm1<Z extends core::Object* = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z*> {
-  synthetic constructor •() → self::Hm1<self::Hm1::Z*>*
-    : super self::_Hm1&Object&Am1::•()
-    ;
-}
-abstract class _Im1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<([core::int*]) →* dynamic, self::_Im1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Im1&Object&Am1<self::_Im1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Im1<Z extends core::Object* = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z*> {
-  synthetic constructor •() → self::Im1<self::Im1::Z*>*
-    : super self::_Im1&Object&Am1::•()
-    ;
-}
-abstract class _Jm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<core::Function*, self::_Jm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Jm1&Object&Am1<self::_Jm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Jm1<Z extends core::Object* = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z*> {
-  synthetic constructor •() → self::Jm1<self::Jm1::Z*>*
-    : super self::_Jm1&Object&Am1::•()
-    ;
-}
-abstract class _Km1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::Function*) →* dynamic, self::_Km1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Km1&Object&Am1<self::_Km1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Km1<Z extends core::Object* = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z*> {
-  synthetic constructor •() → self::Km1<self::Km1::Z*>*
-    : super self::_Km1&Object&Am1::•()
-    ;
-}
-abstract class _Lm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* (() →* core::Function*) →* dynamic, self::_Lm1&Object&Am1::Z*> {
-  const synthetic constructor •() → self::_Lm1&Object&Am1<self::_Lm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Lm1<Z extends core::Object* = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z*> {
-  synthetic constructor •() → self::Lm1<self::Lm1::Z*>*
-    : super self::_Lm1&Object&Am1::•()
-    ;
-}
-class Mm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::int*) →* dynamic, self::Mm1::Z*> {
-  const synthetic constructor •() → self::Mm1<self::Mm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Nm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::int*) →* dynamic, self::Nm1::Z*> {
-  const synthetic constructor •() → self::Nm1<self::Nm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Om1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* core::int*, self::Om1::Z*> {
-  const synthetic constructor •() → self::Om1<self::Om1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Pm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* dynamic, self::Pm1::Z*> {
-  const synthetic constructor •() → self::Pm1<self::Pm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Qm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* dynamic, self::Qm1::Z*> {
-  const synthetic constructor •() → self::Qm1<self::Qm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Rm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<({x: core::int*}) →* dynamic, self::Rm1::Z*> {
-  const synthetic constructor •() → self::Rm1<self::Rm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Sm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<([core::int*]) →* dynamic, self::Sm1::Z*> {
-  const synthetic constructor •() → self::Sm1<self::Sm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Tm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<([core::int*]) →* dynamic, self::Tm1::Z*> {
-  const synthetic constructor •() → self::Tm1<self::Tm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Um1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<core::Function*, self::Um1::Z*> {
-  const synthetic constructor •() → self::Um1<self::Um1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Vm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::Function*) →* dynamic, self::Vm1::Z*> {
-  const synthetic constructor •() → self::Vm1<self::Vm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Wm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* (() →* core::Function*) →* dynamic, self::Wm1::Z*> {
-  const synthetic constructor •() → self::Wm1<self::Wm1::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Am2<X extends () →* dynamic = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am2<self::Am2::X*, self::Am2::Y*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _Bm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::int*) →* dynamic, self::_Bm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Bm2<Z extends core::Object* = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z*> {
-  synthetic constructor •() → self::Bm2<self::Bm2::Z*>*
-    : super self::_Bm2&Object&Am2::•()
-    ;
-}
-abstract class _Cm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::int*) →* dynamic, self::_Cm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Cm2&Object&Am2<self::_Cm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Cm2<Z extends core::Object* = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z*> {
-  synthetic constructor •() → self::Cm2<self::Cm2::Z*>*
-    : super self::_Cm2&Object&Am2::•()
-    ;
-}
-abstract class _Dm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* core::int*, self::_Dm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Dm2&Object&Am2<self::_Dm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Dm2<Z extends core::Object* = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z*> {
-  synthetic constructor •() → self::Dm2<self::Dm2::Z*>*
-    : super self::_Dm2&Object&Am2::•()
-    ;
-}
-abstract class _Em2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* dynamic, self::_Em2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Em2&Object&Am2<self::_Em2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Em2<Z extends core::Object* = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z*> {
-  synthetic constructor •() → self::Em2<self::Em2::Z*>*
-    : super self::_Em2&Object&Am2::•()
-    ;
-}
-abstract class _Fm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* dynamic, self::_Fm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Fm2&Object&Am2<self::_Fm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Fm2<Z extends core::Object* = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z*> {
-  synthetic constructor •() → self::Fm2<self::Fm2::Z*>*
-    : super self::_Fm2&Object&Am2::•()
-    ;
-}
-abstract class _Gm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<({x: core::int*}) →* dynamic, self::_Gm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Gm2&Object&Am2<self::_Gm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Gm2<Z extends core::Object* = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z*> {
-  synthetic constructor •() → self::Gm2<self::Gm2::Z*>*
-    : super self::_Gm2&Object&Am2::•()
-    ;
-}
-abstract class _Hm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<([core::int*]) →* dynamic, self::_Hm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Hm2&Object&Am2<self::_Hm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Hm2<Z extends core::Object* = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z*> {
-  synthetic constructor •() → self::Hm2<self::Hm2::Z*>*
-    : super self::_Hm2&Object&Am2::•()
-    ;
-}
-abstract class _Im2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<([core::int*]) →* dynamic, self::_Im2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Im2&Object&Am2<self::_Im2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Im2<Z extends core::Object* = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z*> {
-  synthetic constructor •() → self::Im2<self::Im2::Z*>*
-    : super self::_Im2&Object&Am2::•()
-    ;
-}
-abstract class _Jm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<core::Function*, self::_Jm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Jm2&Object&Am2<self::_Jm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Jm2<Z extends core::Object* = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z*> {
-  synthetic constructor •() → self::Jm2<self::Jm2::Z*>*
-    : super self::_Jm2&Object&Am2::•()
-    ;
-}
-abstract class _Km2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::Function*) →* dynamic, self::_Km2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Km2&Object&Am2<self::_Km2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Km2<Z extends core::Object* = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z*> {
-  synthetic constructor •() → self::Km2<self::Km2::Z*>*
-    : super self::_Km2&Object&Am2::•()
-    ;
-}
-abstract class _Lm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* (() →* core::Function*) →* dynamic, self::_Lm2&Object&Am2::Z*> {
-  const synthetic constructor •() → self::_Lm2&Object&Am2<self::_Lm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Lm2<Z extends core::Object* = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z*> {
-  synthetic constructor •() → self::Lm2<self::Lm2::Z*>*
-    : super self::_Lm2&Object&Am2::•()
-    ;
-}
-class Mm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::int*) →* dynamic, self::Mm2::Z*> {
-  const synthetic constructor •() → self::Mm2<self::Mm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Nm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::int*) →* dynamic, self::Nm2::Z*> {
-  const synthetic constructor •() → self::Nm2<self::Nm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Om2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* core::int*, self::Om2::Z*> {
-  const synthetic constructor •() → self::Om2<self::Om2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Pm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* dynamic, self::Pm2::Z*> {
-  const synthetic constructor •() → self::Pm2<self::Pm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Qm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* dynamic, self::Qm2::Z*> {
-  const synthetic constructor •() → self::Qm2<self::Qm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Rm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<({x: core::int*}) →* dynamic, self::Rm2::Z*> {
-  const synthetic constructor •() → self::Rm2<self::Rm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Sm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<([core::int*]) →* dynamic, self::Sm2::Z*> {
-  const synthetic constructor •() → self::Sm2<self::Sm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Tm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<([core::int*]) →* dynamic, self::Tm2::Z*> {
-  const synthetic constructor •() → self::Tm2<self::Tm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Um2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<core::Function*, self::Um2::Z*> {
-  const synthetic constructor •() → self::Um2<self::Um2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Vm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::Function*) →* dynamic, self::Vm2::Z*> {
-  const synthetic constructor •() → self::Vm2<self::Vm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Wm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* (() →* core::Function*) →* dynamic, self::Wm2::Z*> {
-  const synthetic constructor •() → self::Wm2<self::Wm2::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Am3<L extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am3<self::Am3::L*, self::Am3::Y*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _Bm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<(core::int*) →* dynamic, self::_Bm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Bm3<Z extends core::Object* = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z*> {
-  synthetic constructor •() → self::Bm3<self::Bm3::Z*>*
-    : super self::_Bm3&Object&Am3::•()
-    ;
-}
-abstract class _Cm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<(core::int*) →* dynamic, self::_Cm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Cm3&Object&Am3<self::_Cm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Cm3<Z extends core::Object* = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z*> {
-  synthetic constructor •() → self::Cm3<self::Cm3::Z*>*
-    : super self::_Cm3&Object&Am3::•()
-    ;
-}
-abstract class _Dm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<() →* core::int*, self::_Dm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Dm3&Object&Am3<self::_Dm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Dm3<Z extends core::Object* = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z*> {
-  synthetic constructor •() → self::Dm3<self::Dm3::Z*>*
-    : super self::_Dm3&Object&Am3::•()
-    ;
-}
-abstract class _Em3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<() →* dynamic, self::_Em3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Em3&Object&Am3<self::_Em3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Em3<Z extends core::Object* = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z*> {
-  synthetic constructor •() → self::Em3<self::Em3::Z*>*
-    : super self::_Em3&Object&Am3::•()
-    ;
-}
-abstract class _Fm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<() →* dynamic, self::_Fm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Fm3&Object&Am3<self::_Fm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Fm3<Z extends core::Object* = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z*> {
-  synthetic constructor •() → self::Fm3<self::Fm3::Z*>*
-    : super self::_Fm3&Object&Am3::•()
-    ;
-}
-abstract class _Gm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<({x: core::int*}) →* dynamic, self::_Gm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Gm3&Object&Am3<self::_Gm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Gm3<Z extends core::Object* = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z*> {
-  synthetic constructor •() → self::Gm3<self::Gm3::Z*>*
-    : super self::_Gm3&Object&Am3::•()
-    ;
-}
-abstract class _Hm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<([core::int*]) →* dynamic, self::_Hm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Hm3&Object&Am3<self::_Hm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Hm3<Z extends core::Object* = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z*> {
-  synthetic constructor •() → self::Hm3<self::Hm3::Z*>*
-    : super self::_Hm3&Object&Am3::•()
-    ;
-}
-abstract class _Im3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<([core::int*]) →* dynamic, self::_Im3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Im3&Object&Am3<self::_Im3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Im3<Z extends core::Object* = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z*> {
-  synthetic constructor •() → self::Im3<self::Im3::Z*>*
-    : super self::_Im3&Object&Am3::•()
-    ;
-}
-abstract class _Jm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<(core::Function*) →* dynamic, self::_Jm3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Jm3&Object&Am3<self::_Jm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Jm3<Z extends core::Object* = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z*> {
-  synthetic constructor •() → self::Jm3<self::Jm3::Z*>*
-    : super self::_Jm3&Object&Am3::•()
-    ;
-}
-abstract class _Km3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<() →* (() →* core::Function*) →* dynamic, self::_Km3&Object&Am3::Z*> {
-  const synthetic constructor •() → self::_Km3&Object&Am3<self::_Km3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-}
-class Km3<Z extends core::Object* = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z*> {
-  synthetic constructor •() → self::Km3<self::Km3::Z*>*
-    : super self::_Km3&Object&Am3::•()
-    ;
-}
-class Af1<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Af1<self::Af1::foo::X*>*
-    return null;
-}
-class Bf1<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf1<self::Bf1::foo::X*>*
-    return null;
-}
-class Cf1<X extends () →* core::int* = dynamic> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Cf1<self::Cf1::foo::X*>*
-    return null;
-}
-class Df1<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Df1<self::Df1::foo::X*>*
-    return null;
-}
-class Ef1<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef1<self::Ef1::foo::X*>*
-    return null;
-}
-class Ff1<X extends ({x: core::int*}) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Ff1<self::Ff1::foo::X*>*
-    return null;
-}
-class Gf1<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Gf1<self::Gf1::foo::X*>*
-    return null;
-}
-class Hf1<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf1<self::Hf1::foo::X*>*
-    return null;
-}
-class If1<X extends core::Function* = dynamic> extends core::Object {
-  static factory foo<X extends core::Function* = dynamic>() → self::If1<self::If1::foo::X*>*
-    return null;
-}
-class Jf1<X extends (core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf1<self::Jf1::foo::X*>*
-    return null;
-}
-class Kf1<X extends () →* (() →* core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf1<self::Kf1::foo::X*>*
-    return null;
-}
-class Bf2<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf2<self::Bf2::foo::X*>*
-    return null;
-}
-class Cf2<X extends (core::int*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Cf2<self::Cf2::foo::X*>*
-    return null;
-}
-class Df2<X extends () →* core::int* = dynamic> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Df2<self::Df2::foo::X*>*
-    return null;
-}
-class Ef2<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef2<self::Ef2::foo::X*>*
-    return null;
-}
-class Ff2<X extends () →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ff2<self::Ff2::foo::X*>*
-    return null;
-}
-class Gf2<X extends ({x: core::int*}) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Gf2<self::Gf2::foo::X*>*
-    return null;
-}
-class Hf2<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf2<self::Hf2::foo::X*>*
-    return null;
-}
-class If2<X extends ([core::int*]) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::If2<self::If2::foo::X*>*
-    return null;
-}
-class Jf2<X extends (core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf2<self::Jf2::foo::X*>*
-    return null;
-}
-class Kf2<X extends () →* (() →* core::Function*) →* dynamic = dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf2<self::Kf2::foo::X*>*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/closure.dart.legacy.expect b/pkg/front_end/testcases/general/closure.dart.legacy.expect
deleted file mode 100644
index b3ea310..0000000
--- a/pkg/front_end/testcases/general/closure.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic _field = new self::Bar::•();
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-static method useCallback(dynamic callback) → dynamic {
-  dynamic _ = callback.call();
-}
-static method main() → dynamic {
-  dynamic x;
-  function inner() → dynamic {
-    x = new self::Foo::•();
-    return new self::Foo::•();
-  }
-  self::useCallback(inner);
-  dynamic _ = inner.call()._field;
-}
diff --git a/pkg/front_end/testcases/general/closure.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/closure.dart.legacy.transformed.expect
deleted file mode 100644
index b3ea310..0000000
--- a/pkg/front_end/testcases/general/closure.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic _field = new self::Bar::•();
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-static method useCallback(dynamic callback) → dynamic {
-  dynamic _ = callback.call();
-}
-static method main() → dynamic {
-  dynamic x;
-  function inner() → dynamic {
-    x = new self::Foo::•();
-    return new self::Foo::•();
-  }
-  self::useCallback(inner);
-  dynamic _ = inner.call()._field;
-}
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.legacy.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.legacy.expect
deleted file mode 100644
index 29828db..0000000
--- a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart:21:1: Error: Expected '{' before this.
-// class B {}
-// ^^^^^
-//
-// pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart:20:1: Error: 'A' is already declared in this scope.
-// A()
-// ^
-// pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart:16:7: Context: Previous declaration of 'A'.
-// class A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.legacy.transformed.expect
deleted file mode 100644
index 29828db..0000000
--- a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart:21:1: Error: Expected '{' before this.
-// class B {}
-// ^^^^^
-//
-// pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart:20:1: Error: 'A' is already declared in this scope.
-// A()
-// ^
-// pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart:16:7: Context: Previous declaration of 'A'.
-// class A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.legacy.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.legacy.expect
deleted file mode 100644
index 4be677f..0000000
--- a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.legacy.expect
+++ /dev/null
@@ -1,110 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class G<T extends self::A* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-}
-class GB extends self::G<self::B*> {
-  synthetic constructor •() → self::GB*
-    : super self::G::•()
-    ;
-}
-class GC extends self::G<self::C*> {
-  synthetic constructor •() → self::GC*
-    : super self::G::•()
-    ;
-}
-class GD extends self::G<self::D*> {
-  synthetic constructor •() → self::GD*
-    : super self::G::•()
-    ;
-}
-class X extends core::Object implements self::A {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-class Z extends core::Object implements self::Y {
-  synthetic constructor •() → self::Z*
-    : super core::Object::•()
-    ;
-}
-class W extends core::Object implements self::Z {
-  synthetic constructor •() → self::W*
-    : super core::Object::•()
-    ;
-}
-class GX extends core::Object implements self::G<self::A*> {
-  synthetic constructor •() → self::GX*
-    : super core::Object::•()
-    ;
-}
-class GY extends self::X implements self::GB {
-  synthetic constructor •() → self::GY*
-    : super self::X::•()
-    ;
-}
-class GZ extends core::Object implements self::Y, self::GC {
-  synthetic constructor •() → self::GZ*
-    : super core::Object::•()
-    ;
-}
-class GW extends core::Object implements self::Z, self::GD {
-  synthetic constructor •() → self::GW*
-    : super core::Object::•()
-    ;
-}
-class GU extends self::GW {
-  synthetic constructor •() → self::GU*
-    : super self::GW::•()
-    ;
-}
-class GV extends self::GU implements self::GW {
-  synthetic constructor •() → self::GV*
-    : super self::GU::•()
-    ;
-}
-class ARO<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::ARO<self::ARO::S*>*
-    : super core::Object::•()
-    ;
-}
-class ARQ<T extends core::Object* = dynamic> extends core::Object implements self::ARO<self::ARQ::T*> {
-  synthetic constructor •() → self::ARQ<self::ARQ::T*>*
-    : super core::Object::•()
-    ;
-}
-class ARN extends self::ARQ<self::A*> {
-  synthetic constructor •() → self::ARN*
-    : super self::ARQ::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.legacy.transformed.expect
deleted file mode 100644
index 4be677f..0000000
--- a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,110 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class G<T extends self::A* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-}
-class GB extends self::G<self::B*> {
-  synthetic constructor •() → self::GB*
-    : super self::G::•()
-    ;
-}
-class GC extends self::G<self::C*> {
-  synthetic constructor •() → self::GC*
-    : super self::G::•()
-    ;
-}
-class GD extends self::G<self::D*> {
-  synthetic constructor •() → self::GD*
-    : super self::G::•()
-    ;
-}
-class X extends core::Object implements self::A {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-class Z extends core::Object implements self::Y {
-  synthetic constructor •() → self::Z*
-    : super core::Object::•()
-    ;
-}
-class W extends core::Object implements self::Z {
-  synthetic constructor •() → self::W*
-    : super core::Object::•()
-    ;
-}
-class GX extends core::Object implements self::G<self::A*> {
-  synthetic constructor •() → self::GX*
-    : super core::Object::•()
-    ;
-}
-class GY extends self::X implements self::GB {
-  synthetic constructor •() → self::GY*
-    : super self::X::•()
-    ;
-}
-class GZ extends core::Object implements self::Y, self::GC {
-  synthetic constructor •() → self::GZ*
-    : super core::Object::•()
-    ;
-}
-class GW extends core::Object implements self::Z, self::GD {
-  synthetic constructor •() → self::GW*
-    : super core::Object::•()
-    ;
-}
-class GU extends self::GW {
-  synthetic constructor •() → self::GU*
-    : super self::GW::•()
-    ;
-}
-class GV extends self::GU implements self::GW {
-  synthetic constructor •() → self::GV*
-    : super self::GU::•()
-    ;
-}
-class ARO<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::ARO<self::ARO::S*>*
-    : super core::Object::•()
-    ;
-}
-class ARQ<T extends core::Object* = dynamic> extends core::Object implements self::ARO<self::ARQ::T*> {
-  synthetic constructor •() → self::ARQ<self::ARQ::T*>*
-    : super core::Object::•()
-    ;
-}
-class ARN extends self::ARQ<self::A*> {
-  synthetic constructor •() → self::ARN*
-    : super self::ARQ::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.legacy.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.legacy.expect
deleted file mode 100644
index e244e2a..0000000
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _Y<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::_Y<self::A::T*>* x;
-  constructor •(self::_Y<self::A::T*>* x) → self::A<self::A::T*>*
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  constructor •() → self::B<self::B::T*>*
-    : super self::A::•(#C1)
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::B::•<dynamic>().x;
-  if(!(x is self::_Y<core::Null*>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.runtimeType}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<dynamic> {}
-}
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.legacy.transformed.expect
deleted file mode 100644
index e244e2a..0000000
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _Y<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::_Y<self::A::T*>* x;
-  constructor •(self::_Y<self::A::T*>* x) → self::A<self::A::T*>*
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  constructor •() → self::B<self::B::T*>*
-    : super self::A::•(#C1)
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::B::•<dynamic>().x;
-  if(!(x is self::_Y<core::Null*>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.runtimeType}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<dynamic> {}
-}
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.legacy.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.legacy.expect
deleted file mode 100644
index d27a472..0000000
--- a/pkg/front_end/testcases/general/constructor_cycle.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constructor_cycle.dart:7:18: Error: Redirecting constructors can't be cyclic.
-// Try to have all constructors eventually redirect to a non-redirecting constructor.
-//   A.bar() : this.foo();
-//                  ^^^
-//
-// pkg/front_end/testcases/general/constructor_cycle.dart:9:9: Error: Redirecting constructors can't be cyclic.
-// Try to have all constructors eventually redirect to a non-redirecting constructor.
-//   A() : this();
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor foo() → self::A*
-    : this self::A::bar()
-    ;
-  constructor bar() → self::A*
-    : this self::A::foo()
-    ;
-  constructor baz() → self::A*
-    : this self::A::foo()
-    ;
-  constructor •() → self::A*
-    : this self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.legacy.transformed.expect
deleted file mode 100644
index d27a472..0000000
--- a/pkg/front_end/testcases/general/constructor_cycle.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constructor_cycle.dart:7:18: Error: Redirecting constructors can't be cyclic.
-// Try to have all constructors eventually redirect to a non-redirecting constructor.
-//   A.bar() : this.foo();
-//                  ^^^
-//
-// pkg/front_end/testcases/general/constructor_cycle.dart:9:9: Error: Redirecting constructors can't be cyclic.
-// Try to have all constructors eventually redirect to a non-redirecting constructor.
-//   A() : this();
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor foo() → self::A*
-    : this self::A::bar()
-    ;
-  constructor bar() → self::A*
-    : this self::A::foo()
-    ;
-  constructor baz() → self::A*
-    : this self::A::foo()
-    ;
-  constructor •() → self::A*
-    : this self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.legacy.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.legacy.expect
deleted file mode 100644
index dfca6ce..0000000
--- a/pkg/front_end/testcases/general/constructor_function_types.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  constructor •(core::int* x, core::double* y, core::String* s) → self::B*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class D<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::D::T* x, self::D::S* y) → self::D<self::D::T*, self::D::S*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  new self::A::•();
-  new self::B::•(0, 3.14, "foo");
-  new self::C::•<dynamic>();
-  new self::D::•<core::Object*, core::int*>(null, 3);
-}
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.legacy.transformed.expect
deleted file mode 100644
index dfca6ce..0000000
--- a/pkg/front_end/testcases/general/constructor_function_types.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  constructor •(core::int* x, core::double* y, core::String* s) → self::B*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class D<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::D::T* x, self::D::S* y) → self::D<self::D::T*, self::D::S*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  new self::A::•();
-  new self::B::•(0, 3.14, "foo");
-  new self::C::•<dynamic>();
-  new self::D::•<core::Object*, core::int*>(null, 3);
-}
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.legacy.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.legacy.expect
deleted file mode 100644
index d8bf1be..0000000
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.legacy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:5:24: Error: Expected an initializer.
-// class C1 { int f; C1() : ; }
-//                        ^
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:6:26: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-// class C2 { int f; C2() : f; }
-//                          ^
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:7:26: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-// class C3 { int f; C3() : f++; }
-//                          ^
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:7:26: Error: Can't access 'this' in a field initializer to read 'f'.
-// class C3 { int f; C3() : f++; }
-//                          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C1 extends core::Object {
-  field core::int* f = null;
-  constructor •() → self::C1*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:5:26: Error: This couldn't be parsed.
-class C1 { int f; C1() : ; }
-                         ^"
-    ;
-}
-class C2 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C2*
-    : self::C2::f = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:6:27: Error: This couldn't be parsed.
-class C2 { int f; C2() : f; }
-                          ^", super core::Object::•()
-    ;
-}
-class C3 extends core::Object {
-  field core::int* f = null;
-  constructor •() → self::C3*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:7:26: Error: This couldn't be parsed.
-class C3 { int f; C3() : f++; }
-                         ^"
-    ;
-}
-static method main() → dynamic {
-  dynamic c1 = new self::C1::•();
-  c1.toString();
-  dynamic c2 = new self::C2::•();
-  c2.toString();
-  dynamic c3 = new self::C3::•();
-  c3.toString();
-}
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.legacy.transformed.expect
deleted file mode 100644
index d8bf1be..0000000
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:5:24: Error: Expected an initializer.
-// class C1 { int f; C1() : ; }
-//                        ^
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:6:26: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-// class C2 { int f; C2() : f; }
-//                          ^
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:7:26: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-// class C3 { int f; C3() : f++; }
-//                          ^
-//
-// pkg/front_end/testcases/general/constructor_initializer_invalid.dart:7:26: Error: Can't access 'this' in a field initializer to read 'f'.
-// class C3 { int f; C3() : f++; }
-//                          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C1 extends core::Object {
-  field core::int* f = null;
-  constructor •() → self::C1*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:5:26: Error: This couldn't be parsed.
-class C1 { int f; C1() : ; }
-                         ^"
-    ;
-}
-class C2 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C2*
-    : self::C2::f = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:6:27: Error: This couldn't be parsed.
-class C2 { int f; C2() : f; }
-                          ^", super core::Object::•()
-    ;
-}
-class C3 extends core::Object {
-  field core::int* f = null;
-  constructor •() → self::C3*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/constructor_initializer_invalid.dart:7:26: Error: This couldn't be parsed.
-class C3 { int f; C3() : f++; }
-                         ^"
-    ;
-}
-static method main() → dynamic {
-  dynamic c1 = new self::C1::•();
-  c1.toString();
-  dynamic c2 = new self::C2::•();
-  c2.toString();
-  dynamic c3 = new self::C3::•();
-  c3.toString();
-}
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.legacy.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.legacy.expect
deleted file mode 100644
index 1ebe329..0000000
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
-//   lib(new C().missing());
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///continue_inference_after_error_lib.dart" as lib;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method test() → dynamic {
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
-  lib(new C().missing());
-  ^^^" in let final core::Object* #t2 = new self::C::•().missing() in null;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.legacy.transformed.expect
deleted file mode 100644
index 1ebe329..0000000
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
-//   lib(new C().missing());
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///continue_inference_after_error_lib.dart" as lib;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method test() → dynamic {
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
-  lib(new C().missing());
-  ^^^" in let final core::Object* #t2 = new self::C::•().missing() in null;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.legacy.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.legacy.expect
deleted file mode 100644
index 2a2e0fb..0000000
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.legacy.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:8:5: Error: Unexpected token 'if'.
-//     if (oracle()) 2,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:9:5: Error: Unexpected token 'if'.
-//     if (oracle()) 3 else -1,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:10:19: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:10:5: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:11:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[5, 6, 7]) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:12:36: Error: Unexpected token 'if'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:12:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:13:5: Error: Unexpected token 'for'.
-//     for (int i = 11; i <= 14; ++i) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:17:5: Error: Unexpected token 'if'.
-//     if (oracle()) 2,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:18:5: Error: Unexpected token 'if'.
-//     if (oracle()) 3 else -1,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:19:19: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:19:5: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:20:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[5, 6, 7]) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:21:36: Error: Unexpected token 'if'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:21:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:22:5: Error: Unexpected token 'for'.
-//     for (int i = 11; i <= 14; ++i) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:26:5: Error: Unexpected token 'if'.
-//     if (oracle()) 2: 2,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:27:5: Error: Unexpected token 'if'.
-//     if (oracle()) 3: 3 else -1: -1,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:28:19: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4: 4,
-//                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:28:5: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4: 4,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:29:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[5, 6, 7]) i: i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:30:36: Error: Unexpected token 'if'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i: i,
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:30:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i: i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:31:5: Error: Unexpected token 'for'.
-//     for (int i = 11; i <= 14; ++i) i: i,
-//     ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  final dynamic aList = <core::int*>[1];
-  final dynamic aSet = <core::int*>{1};
-  final dynamic aMap = <core::int*, core::int*>{1: 1};
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method oracle() → dynamic
-  return true;
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.legacy.transformed.expect
deleted file mode 100644
index 2a2e0fb..0000000
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:8:5: Error: Unexpected token 'if'.
-//     if (oracle()) 2,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:9:5: Error: Unexpected token 'if'.
-//     if (oracle()) 3 else -1,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:10:19: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:10:5: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:11:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[5, 6, 7]) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:12:36: Error: Unexpected token 'if'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:12:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:13:5: Error: Unexpected token 'for'.
-//     for (int i = 11; i <= 14; ++i) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:17:5: Error: Unexpected token 'if'.
-//     if (oracle()) 2,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:18:5: Error: Unexpected token 'if'.
-//     if (oracle()) 3 else -1,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:19:19: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:19:5: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:20:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[5, 6, 7]) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:21:36: Error: Unexpected token 'if'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:21:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:22:5: Error: Unexpected token 'for'.
-//     for (int i = 11; i <= 14; ++i) i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:26:5: Error: Unexpected token 'if'.
-//     if (oracle()) 2: 2,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:27:5: Error: Unexpected token 'if'.
-//     if (oracle()) 3: 3 else -1: -1,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:28:19: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4: 4,
-//                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:28:5: Error: Unexpected token 'if'.
-//     if (oracle()) if (oracle()) 4: 4,
-//     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:29:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[5, 6, 7]) i: i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:30:36: Error: Unexpected token 'if'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i: i,
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:30:5: Error: Unexpected token 'for'.
-//     for (int i in <int>[8, 9, 10]) if (oracle()) i: i,
-//     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection.dart:31:5: Error: Unexpected token 'for'.
-//     for (int i = 11; i <= 14; ++i) i: i,
-//     ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  final dynamic aList = <core::int*>[1];
-  final dynamic aSet = <core::int*>{1};
-  final dynamic aMap = <core::int*, core::int*>{1: 1};
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method oracle() → dynamic
-  return true;
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.legacy.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.legacy.expect
deleted file mode 100644
index 09377d1..0000000
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.legacy.expect
+++ /dev/null
@@ -1,2040 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:10:17: Error: Unexpected token 'if'.
-//   var list10 = [if (oracle("foo")) 42];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:11:16: Error: Unexpected token 'if'.
-//   var set10 = {if (oracle("foo")) 42, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:12:16: Error: Unexpected token 'if'.
-//   var map10 = {if (oracle("foo")) "bar": 42, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:13:17: Error: Unexpected token 'if'.
-//   var list11 = [if (oracle("foo")) dynVar];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:14:16: Error: Unexpected token 'if'.
-//   var set11 = {if (oracle("foo")) dynVar, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:15:16: Error: Unexpected token 'if'.
-//   var map11 = {if (oracle("foo")) "bar": dynVar, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:16:17: Error: Unexpected token 'if'.
-//   var list12 = [if (oracle("foo")) [42]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:17:16: Error: Unexpected token 'if'.
-//   var set12 = {if (oracle("foo")) [42], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:18:16: Error: Unexpected token 'if'.
-//   var map12 = {if (oracle("foo")) "bar": [42], "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:19:36: Error: Unexpected token '...'.
-//   var list20 = [if (oracle("foo")) ...[42]];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:19:17: Error: Unexpected token 'if'.
-//   var list20 = [if (oracle("foo")) ...[42]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:20:35: Error: Unexpected token '...'.
-//   var set20 = {if (oracle("foo")) ...[42], null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:20:16: Error: Unexpected token 'if'.
-//   var set20 = {if (oracle("foo")) ...[42], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:21:35: Error: Unexpected token '...'.
-//   var map20 = {if (oracle("foo")) ...{"bar": 42}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:21:16: Error: Unexpected token 'if'.
-//   var map20 = {if (oracle("foo")) ...{"bar": 42}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:22:36: Error: Unexpected token '...'.
-//   var list21 = [if (oracle("foo")) ...[dynVar]];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:22:17: Error: Unexpected token 'if'.
-//   var list21 = [if (oracle("foo")) ...[dynVar]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:23:35: Error: Unexpected token '...'.
-//   var set21 = {if (oracle("foo")) ...[dynVar], null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:23:16: Error: Unexpected token 'if'.
-//   var set21 = {if (oracle("foo")) ...[dynVar], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:24:35: Error: Unexpected token '...'.
-//   var map21 = {if (oracle("foo")) ...{"bar": dynVar}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:24:16: Error: Unexpected token 'if'.
-//   var map21 = {if (oracle("foo")) ...{"bar": dynVar}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:25:36: Error: Unexpected token '...'.
-//   var list22 = [if (oracle("foo")) ...[[42]]];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:25:17: Error: Unexpected token 'if'.
-//   var list22 = [if (oracle("foo")) ...[[42]]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:26:35: Error: Unexpected token '...'.
-//   var set22 = {if (oracle("foo")) ...[[42]], null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:26:16: Error: Unexpected token 'if'.
-//   var set22 = {if (oracle("foo")) ...[[42]], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:27:35: Error: Unexpected token '...'.
-//   var map22 = {if (oracle("foo")) ...{"bar": [42]}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:27:16: Error: Unexpected token 'if'.
-//   var map22 = {if (oracle("foo")) ...{"bar": [42]}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:28:50: Error: Unexpected token '...'.
-//   var list30 = [if (oracle("foo")) if (oracle()) ...[42]];
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:28:36: Error: Unexpected token 'if'.
-//   var list30 = [if (oracle("foo")) if (oracle()) ...[42]];
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:28:17: Error: Unexpected token 'if'.
-//   var list30 = [if (oracle("foo")) if (oracle()) ...[42]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:29:49: Error: Unexpected token '...'.
-//   var set30 = {if (oracle("foo")) if (oracle()) ...[42], null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:29:35: Error: Unexpected token 'if'.
-//   var set30 = {if (oracle("foo")) if (oracle()) ...[42], null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:29:16: Error: Unexpected token 'if'.
-//   var set30 = {if (oracle("foo")) if (oracle()) ...[42], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:30:49: Error: Unexpected token '...'.
-//   var map30 = {if (oracle("foo")) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:30:35: Error: Unexpected token 'if'.
-//   var map30 = {if (oracle("foo")) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:30:16: Error: Unexpected token 'if'.
-//   var map30 = {if (oracle("foo")) if (oracle()) ...{"bar": 42}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:31:50: Error: Unexpected token '...'.
-//   var list31 = [if (oracle("foo")) if (oracle()) ...[dynVar]];
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:31:36: Error: Unexpected token 'if'.
-//   var list31 = [if (oracle("foo")) if (oracle()) ...[dynVar]];
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:31:17: Error: Unexpected token 'if'.
-//   var list31 = [if (oracle("foo")) if (oracle()) ...[dynVar]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:32:49: Error: Unexpected token '...'.
-//   var set31 = {if (oracle("foo")) if (oracle()) ...[dynVar], null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:32:35: Error: Unexpected token 'if'.
-//   var set31 = {if (oracle("foo")) if (oracle()) ...[dynVar], null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:32:16: Error: Unexpected token 'if'.
-//   var set31 = {if (oracle("foo")) if (oracle()) ...[dynVar], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:33:49: Error: Unexpected token '...'.
-//   var map31 = {if (oracle("foo")) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:33:35: Error: Unexpected token 'if'.
-//   var map31 = {if (oracle("foo")) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:33:16: Error: Unexpected token 'if'.
-//   var map31 = {if (oracle("foo")) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:34:50: Error: Unexpected token '...'.
-//   var list33 = [if (oracle("foo")) if (oracle()) ...[[42]]];
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:34:36: Error: Unexpected token 'if'.
-//   var list33 = [if (oracle("foo")) if (oracle()) ...[[42]]];
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:34:17: Error: Unexpected token 'if'.
-//   var list33 = [if (oracle("foo")) if (oracle()) ...[[42]]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:35:49: Error: Unexpected token '...'.
-//   var set33 = {if (oracle("foo")) if (oracle()) ...[[42]], null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:35:35: Error: Unexpected token 'if'.
-//   var set33 = {if (oracle("foo")) if (oracle()) ...[[42]], null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:35:16: Error: Unexpected token 'if'.
-//   var set33 = {if (oracle("foo")) if (oracle()) ...[[42]], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:36:49: Error: Unexpected token '...'.
-//   var map33 = {if (oracle("foo")) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:36:35: Error: Unexpected token 'if'.
-//   var map33 = {if (oracle("foo")) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:36:16: Error: Unexpected token 'if'.
-//   var map33 = {if (oracle("foo")) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:37:48: Error: Unexpected token '...'.
-//   List<List<int>> list40 = [if (oracle("foo")) ...[[]]];
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:37:29: Error: Unexpected token 'if'.
-//   List<List<int>> list40 = [if (oracle("foo")) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:38:46: Error: Unexpected token '...'.
-//   Set<List<int>> set40 = {if (oracle("foo")) ...[[]], null};
-//                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:38:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set40 = {if (oracle("foo")) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:54: Error: Unexpected token '...'.
-//   Map<String, List<int>> map40 = {if (oracle("foo")) ...{"bar", []}, "baz": null};
-//                                                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map40 = {if (oracle("foo")) ...{"bar", []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:40:48: Error: Unexpected token '...'.
-//   List<List<int>> list41 = [if (oracle("foo")) ...{[]}];
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:40:29: Error: Unexpected token 'if'.
-//   List<List<int>> list41 = [if (oracle("foo")) ...{[]}];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:46: Error: Unexpected token '...'.
-//   Set<List<int>> set41 = {if (oracle("foo")) ...{[]}, null};
-//                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set41 = {if (oracle("foo")) ...{[]}, null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:42:62: Error: Unexpected token '...'.
-//   List<List<int>> list42 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:42:48: Error: Unexpected token 'if'.
-//   List<List<int>> list42 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:42:29: Error: Unexpected token 'if'.
-//   List<List<int>> list42 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:43:60: Error: Unexpected token '...'.
-//   Set<List<int>> set42 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:43:46: Error: Unexpected token 'if'.
-//   Set<List<int>> set42 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:43:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set42 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:44:68: Error: Unexpected token '...'.
-//   Map<String, List<int>> map42 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:44:54: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map42 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                      ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:44:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map42 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:45:42: Error: Unexpected token '...'.
-//   List<int> list50 = [if (oracle("foo")) ...[]];
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:45:23: Error: Unexpected token 'if'.
-//   List<int> list50 = [if (oracle("foo")) ...[]];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:46:40: Error: Unexpected token '...'.
-//   Set<int> set50 = {if (oracle("foo")) ...[], null};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:46:21: Error: Unexpected token 'if'.
-//   Set<int> set50 = {if (oracle("foo")) ...[], null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:47:48: Error: Unexpected token '...'.
-//   Map<String, int> map50 = {if (oracle("foo")) ...{}, "baz": null};
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:47:29: Error: Unexpected token 'if'.
-//   Map<String, int> map50 = {if (oracle("foo")) ...{}, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:48:42: Error: Unexpected token '...'.
-//   List<int> list51 = [if (oracle("foo")) ...{}];
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:48:23: Error: Unexpected token 'if'.
-//   List<int> list51 = [if (oracle("foo")) ...{}];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:49:40: Error: Unexpected token '...'.
-//   Set<int> set51 = {if (oracle("foo")) ...{}, null};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:49:21: Error: Unexpected token 'if'.
-//   Set<int> set51 = {if (oracle("foo")) ...{}, null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:50:56: Error: Unexpected token '...'.
-//   List<int> list52 = [if (oracle("foo")) if (oracle()) ...[]];
-//                                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:50:42: Error: Unexpected token 'if'.
-//   List<int> list52 = [if (oracle("foo")) if (oracle()) ...[]];
-//                                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:50:23: Error: Unexpected token 'if'.
-//   List<int> list52 = [if (oracle("foo")) if (oracle()) ...[]];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:51:54: Error: Unexpected token '...'.
-//   Set<int> set52 = {if (oracle("foo")) if (oracle()) ...[], null};
-//                                                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:51:40: Error: Unexpected token 'if'.
-//   Set<int> set52 = {if (oracle("foo")) if (oracle()) ...[], null};
-//                                        ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:51:21: Error: Unexpected token 'if'.
-//   Set<int> set52 = {if (oracle("foo")) if (oracle()) ...[], null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:52:62: Error: Unexpected token '...'.
-//   Map<String, int> map52 = {if (oracle("foo")) if (oracle()) ...{}, "baz": null};
-//                                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:52:48: Error: Unexpected token 'if'.
-//   Map<String, int> map52 = {if (oracle("foo")) if (oracle()) ...{}, "baz": null};
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:52:29: Error: Unexpected token 'if'.
-//   Map<String, int> map52 = {if (oracle("foo")) if (oracle()) ...{}, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:53:48: Error: Unexpected token '...'.
-//   List<List<int>> list60 = [if (oracle("foo")) ...[[]]];
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:53:29: Error: Unexpected token 'if'.
-//   List<List<int>> list60 = [if (oracle("foo")) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:54:46: Error: Unexpected token '...'.
-//   Set<List<int>> set60 = {if (oracle("foo")) ...[[]], null};
-//                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:54:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set60 = {if (oracle("foo")) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:55:54: Error: Unexpected token '...'.
-//   Map<String, List<int>> map60 = {if (oracle("foo")) ...{"bar": []}, "baz": null};
-//                                                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:55:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map60 = {if (oracle("foo")) ...{"bar": []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:56:62: Error: Unexpected token '...'.
-//   List<List<int>> list61 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:56:48: Error: Unexpected token 'if'.
-//   List<List<int>> list61 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:56:29: Error: Unexpected token 'if'.
-//   List<List<int>> list61 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:57:60: Error: Unexpected token '...'.
-//   Set<List<int>> set61 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:57:46: Error: Unexpected token 'if'.
-//   Set<List<int>> set61 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:57:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set61 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:58:68: Error: Unexpected token '...'.
-//   Map<String, List<int>> map61 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:58:54: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map61 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                      ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:58:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map61 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:59:29: Error: Unexpected token 'if'.
-//   List<List<int>> list70 = [if (oracle("foo")) []];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:60:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set70 = {if (oracle("foo")) [], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:61:48: Error: Unexpected token 'if'.
-//   List<List<int>> list71 = [if (oracle("foo")) if (oracle()) []];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:61:29: Error: Unexpected token 'if'.
-//   List<List<int>> list71 = [if (oracle("foo")) if (oracle()) []];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:62:46: Error: Unexpected token 'if'.
-//   Set<List<int>> set71 = {if (oracle("foo")) if (oracle()) [], null};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:62:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set71 = {if (oracle("foo")) if (oracle()) [], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:63:17: Error: Unexpected token 'if'.
-//   var list80 = [if (oracle("foo")) 42 else 3.14];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:64:16: Error: Unexpected token 'if'.
-//   var set80 = {if (oracle("foo")) 42 else 3.14, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:65:16: Error: Unexpected token 'if'.
-//   var map80 = {if (oracle("foo")) "bar": 42 else "bar": 3.14, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:66:36: Error: Unexpected token '...'.
-//   var list81 = [if (oracle("foo")) ...listInt else ...listDouble];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:66:52: Error: Unexpected token '...'.
-//   var list81 = [if (oracle("foo")) ...listInt else ...listDouble];
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:66:17: Error: Unexpected token 'if'.
-//   var list81 = [if (oracle("foo")) ...listInt else ...listDouble];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:67:35: Error: Unexpected token '...'.
-//   var set81 = {if (oracle("foo")) ...listInt else ...listDouble, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:67:51: Error: Unexpected token '...'.
-//   var set81 = {if (oracle("foo")) ...listInt else ...listDouble, null};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:67:16: Error: Unexpected token 'if'.
-//   var set81 = {if (oracle("foo")) ...listInt else ...listDouble, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:68:35: Error: Unexpected token '...'.
-//   var map81 = {if (oracle("foo")) ...mapToInt else ...mapToDouble, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:68:52: Error: Unexpected token '...'.
-//   var map81 = {if (oracle("foo")) ...mapToInt else ...mapToDouble, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:68:16: Error: Unexpected token 'if'.
-//   var map81 = {if (oracle("foo")) ...mapToInt else ...mapToDouble, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:69:36: Error: Unexpected token '...'.
-//   var list82 = [if (oracle("foo")) ...listInt else ...dynVar];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:69:52: Error: Unexpected token '...'.
-//   var list82 = [if (oracle("foo")) ...listInt else ...dynVar];
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:69:17: Error: Unexpected token 'if'.
-//   var list82 = [if (oracle("foo")) ...listInt else ...dynVar];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:70:35: Error: Unexpected token '...'.
-//   var set82 = {if (oracle("foo")) ...listInt else ...dynVar, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:70:51: Error: Unexpected token '...'.
-//   var set82 = {if (oracle("foo")) ...listInt else ...dynVar, null};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:70:16: Error: Unexpected token 'if'.
-//   var set82 = {if (oracle("foo")) ...listInt else ...dynVar, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:35: Error: Unexpected token '...'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:52: Error: Unexpected token '...'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:16: Error: Unexpected token 'if'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:72:44: Error: Unexpected token '...'.
-//   var list83 = [if (oracle("foo")) 42 else ...listDouble];
-//                                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:72:17: Error: Unexpected token 'if'.
-//   var list83 = [if (oracle("foo")) 42 else ...listDouble];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:35: Error: Unexpected token '...'.
-//   var set83 = {if (oracle("foo")) ...listInt else 3.14, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:16: Error: Unexpected token 'if'.
-//   var set83 = {if (oracle("foo")) ...listInt else 3.14, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:74:35: Error: Unexpected token '...'.
-//   var map83 = {if (oracle("foo")) ...mapToInt else "bar": 3.14, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:74:16: Error: Unexpected token 'if'.
-//   var map83 = {if (oracle("foo")) ...mapToInt else "bar": 3.14, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:75:23: Error: Unexpected token 'if'.
-//   List<int> list90 = [if (oracle("foo")) dynVar];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:76:21: Error: Unexpected token 'if'.
-//   Set<int> set90 = {if (oracle("foo")) dynVar, null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:77:29: Error: Unexpected token 'if'.
-//   Map<String, int> map90 = {if (oracle("foo")) "bar": dynVar, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:78:42: Error: Unexpected token '...'.
-//   List<int> list91 = [if (oracle("foo")) ...dynVar];
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:78:23: Error: Unexpected token 'if'.
-//   List<int> list91 = [if (oracle("foo")) ...dynVar];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:79:40: Error: Unexpected token '...'.
-//   Set<int> set91 = {if (oracle("foo")) ...dynVar, null};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:79:21: Error: Unexpected token 'if'.
-//   Set<int> set91 = {if (oracle("foo")) ...dynVar, null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:80:48: Error: Unexpected token '...'.
-//   Map<String, int> map91 = {if (oracle("foo")) ...dynVar, "baz": null};
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:80:29: Error: Unexpected token 'if'.
-//   Map<String, int> map91 = {if (oracle("foo")) ...dynVar, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:81:24: Error: Unexpected token 'if'.
-//   List<int> list100 = [if (dynVar) 42];
-//                        ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:82:22: Error: Unexpected token 'if'.
-//   Set<int> set100 = {if (dynVar) 42};
-//                      ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:83:27: Error: Unexpected token 'if'.
-//   Map<int, int> map100 = {if (dynVar) 42: 42};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) "bar"];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) "bar", null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) "bar": "bar", "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) ...["bar"]];
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) ...["bar"]];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...["bar"], null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...["bar"], null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:36: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) ...{"bar": "bar"}, "baz": null};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) ...{"bar": "bar"}, "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:28: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) ...map];
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) ...map];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...map, null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...map, null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:36: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) ...["bar"], "baz": null};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) ...["bar"], "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:12: Error: Unexpected token 'if'.
-//   <String>[if (oracle("foo")) 42 else 3.14];
-//            ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:12: Error: Unexpected token 'if'.
-//   <String>{if (oracle("foo")) 42 else 3.14, null};
-//            ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:20: Error: Unexpected token 'if'.
-//   <String, String>{if (oracle("foo")) "bar": 42 else "baz": 3.14, "baz": null};
-//                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:28: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) ...map else 42];
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) ...map else 42];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:36: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) ...[42] else "bar": 42, "baz": null};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) ...[42] else "bar": 42, "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:36: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) 42 else ...map];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) 42 else ...map];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:51: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) "bar": 42 else ...[42], "baz": null};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) "bar": 42 else ...[42], "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:106:25: Error: Unexpected token 'if'.
-//   Set<dynamic> set10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:107:34: Error: Unexpected token 'if'.
-//   Map<dynamic, dynamic> map10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:108:25: Error: Unexpected token 'if'.
-//   Set<dynamic> set11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:109:34: Error: Unexpected token 'if'.
-//   Map<dynamic, dynamic> map11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:110:16: Error: Unexpected token 'if'.
-//   var map12 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:111:16: Error: Unexpected token 'if'.
-//   var map13 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:23: Error: Unexpected token 'if'.
-//   List<int> list20 = [if (42) 42];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:113:21: Error: Unexpected token 'if'.
-//   Set<int> set20 = {if (42) 42};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:26: Error: Unexpected token 'if'.
-//   Map<int, int> map30 = {if (42) 42: 42};
-//                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:34: Error: Unexpected token 'if'.
-//   List<String> list40 = <String>[if (oracle("foo")) true else 42];
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:32: Error: Unexpected token 'if'.
-//   Set<String> set40 = <String>{if (oracle("foo")) true else 42};
-//                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:42: Error: Unexpected token 'if'.
-//   Map<String, int> map40 = <String, int>{if (oracle("foo")) true: 42 else 42: 42};
-//                                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:42: Error: Unexpected token 'if'.
-//   Map<int, String> map41 = <int, String>{if (oracle("foo")) 42: true else 42: 42};
-//                                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:123:17: Error: Unexpected token 'for'.
-//   var list10 = [for (int i = 0; oracle("foo"); i++) 42];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:124:16: Error: Unexpected token 'for'.
-//   var set10 = {for (int i = 0; oracle("foo"); i++) 42, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:125:16: Error: Unexpected token 'for'.
-//   var map10 = {for (int i = 0; oracle("foo"); i++) "bar": 42, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:126:17: Error: Unexpected token 'for'.
-//   var list11 = [for (int i = 0; oracle("foo"); i++) dynVar];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:127:16: Error: Unexpected token 'for'.
-//   var set11 = {for (int i = 0; oracle("foo"); i++) dynVar, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:128:16: Error: Unexpected token 'for'.
-//   var map11 = {for (int i = 0; oracle("foo"); i++) "bar": dynVar, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:129:17: Error: Unexpected token 'for'.
-//   var list12 = [for (int i = 0; oracle("foo"); i++) [42]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:130:16: Error: Unexpected token 'for'.
-//   var set12 = {for (int i = 0; oracle("foo"); i++) [42], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:131:16: Error: Unexpected token 'for'.
-//   var map12 = {for (int i = 0; oracle("foo"); i++) "bar": [42], "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:132:53: Error: Unexpected token '...'.
-//   var list20 = [for (int i = 0; oracle("foo"); i++) ...[42]];
-//                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:132:17: Error: Unexpected token 'for'.
-//   var list20 = [for (int i = 0; oracle("foo"); i++) ...[42]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:133:52: Error: Unexpected token '...'.
-//   var set20 = {for (int i = 0; oracle("foo"); i++) ...[42], null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:133:16: Error: Unexpected token 'for'.
-//   var set20 = {for (int i = 0; oracle("foo"); i++) ...[42], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:134:52: Error: Unexpected token '...'.
-//   var map20 = {for (int i = 0; oracle("foo"); i++) ...{"bar": 42}, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:134:16: Error: Unexpected token 'for'.
-//   var map20 = {for (int i = 0; oracle("foo"); i++) ...{"bar": 42}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:135:53: Error: Unexpected token '...'.
-//   var list21 = [for (int i = 0; oracle("foo"); i++) ...[dynVar]];
-//                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:135:17: Error: Unexpected token 'for'.
-//   var list21 = [for (int i = 0; oracle("foo"); i++) ...[dynVar]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:136:52: Error: Unexpected token '...'.
-//   var set21 = {for (int i = 0; oracle("foo"); i++) ...[dynVar], null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:136:16: Error: Unexpected token 'for'.
-//   var set21 = {for (int i = 0; oracle("foo"); i++) ...[dynVar], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:137:52: Error: Unexpected token '...'.
-//   var map21 = {for (int i = 0; oracle("foo"); i++) ...{"bar": dynVar}, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:137:16: Error: Unexpected token 'for'.
-//   var map21 = {for (int i = 0; oracle("foo"); i++) ...{"bar": dynVar}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:138:53: Error: Unexpected token '...'.
-//   var list22 = [for (int i = 0; oracle("foo"); i++) ...[[42]]];
-//                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:138:17: Error: Unexpected token 'for'.
-//   var list22 = [for (int i = 0; oracle("foo"); i++) ...[[42]]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:139:52: Error: Unexpected token '...'.
-//   var set22 = {for (int i = 0; oracle("foo"); i++) ...[[42]], null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:139:16: Error: Unexpected token 'for'.
-//   var set22 = {for (int i = 0; oracle("foo"); i++) ...[[42]], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:140:52: Error: Unexpected token '...'.
-//   var map22 = {for (int i = 0; oracle("foo"); i++) ...{"bar": [42]}, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:140:16: Error: Unexpected token 'for'.
-//   var map22 = {for (int i = 0; oracle("foo"); i++) ...{"bar": [42]}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:141:67: Error: Unexpected token '...'.
-//   var list30 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42]];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:141:53: Error: Unexpected token 'if'.
-//   var list30 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42]];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:141:17: Error: Unexpected token 'for'.
-//   var list30 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:142:66: Error: Unexpected token '...'.
-//   var set30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42], null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:142:52: Error: Unexpected token 'if'.
-//   var set30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42], null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:142:16: Error: Unexpected token 'for'.
-//   var set30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:143:66: Error: Unexpected token '...'.
-//   var map30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:143:52: Error: Unexpected token 'if'.
-//   var map30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:143:16: Error: Unexpected token 'for'.
-//   var map30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": 42}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:144:67: Error: Unexpected token '...'.
-//   var list31 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar]];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:144:53: Error: Unexpected token 'if'.
-//   var list31 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar]];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:144:17: Error: Unexpected token 'for'.
-//   var list31 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:145:66: Error: Unexpected token '...'.
-//   var set31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar], null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:145:52: Error: Unexpected token 'if'.
-//   var set31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar], null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:145:16: Error: Unexpected token 'for'.
-//   var set31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:146:66: Error: Unexpected token '...'.
-//   var map31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:146:52: Error: Unexpected token 'if'.
-//   var map31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:146:16: Error: Unexpected token 'for'.
-//   var map31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:147:67: Error: Unexpected token '...'.
-//   var list33 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]]];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:147:53: Error: Unexpected token 'if'.
-//   var list33 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]]];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:147:17: Error: Unexpected token 'for'.
-//   var list33 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:148:66: Error: Unexpected token '...'.
-//   var set33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]], null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:148:52: Error: Unexpected token 'if'.
-//   var set33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]], null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:148:16: Error: Unexpected token 'for'.
-//   var set33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:149:66: Error: Unexpected token '...'.
-//   var map33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:149:52: Error: Unexpected token 'if'.
-//   var map33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:149:16: Error: Unexpected token 'for'.
-//   var map33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:150:65: Error: Unexpected token '...'.
-//   List<List<int>> list40 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:150:29: Error: Unexpected token 'for'.
-//   List<List<int>> list40 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:151:63: Error: Unexpected token '...'.
-//   Set<List<int>> set40 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:151:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set40 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:152:71: Error: Unexpected token '...'.
-//   Map<String, List<int>> map40 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:152:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map40 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:153:65: Error: Unexpected token '...'.
-//   List<List<int>> list41 = [for (int i = 0; oracle("foo"); i++) ...{[]}];
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:153:29: Error: Unexpected token 'for'.
-//   List<List<int>> list41 = [for (int i = 0; oracle("foo"); i++) ...{[]}];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:154:63: Error: Unexpected token '...'.
-//   Set<List<int>> set41 = {for (int i = 0; oracle("foo"); i++) ...{[]}, null};
-//                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:154:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set41 = {for (int i = 0; oracle("foo"); i++) ...{[]}, null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:155:79: Error: Unexpected token '...'.
-//   List<List<int>> list42 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:155:65: Error: Unexpected token 'if'.
-//   List<List<int>> list42 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:155:29: Error: Unexpected token 'for'.
-//   List<List<int>> list42 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:156:77: Error: Unexpected token '...'.
-//   Set<List<int>> set42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:156:63: Error: Unexpected token 'if'.
-//   Set<List<int>> set42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                               ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:156:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:157:85: Error: Unexpected token '...'.
-//   Map<String, List<int>> map42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:157:71: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:157:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:158:59: Error: Unexpected token '...'.
-//   List<int> list50 = [for (int i = 0; oracle("foo"); i++) ...[]];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:158:23: Error: Unexpected token 'for'.
-//   List<int> list50 = [for (int i = 0; oracle("foo"); i++) ...[]];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:159:57: Error: Unexpected token '...'.
-//   Set<int> set50 = {for (int i = 0; oracle("foo"); i++) ...[], null};
-//                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:159:21: Error: Unexpected token 'for'.
-//   Set<int> set50 = {for (int i = 0; oracle("foo"); i++) ...[], null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:160:65: Error: Unexpected token '...'.
-//   Map<String, int> map50 = {for (int i = 0; oracle("foo"); i++) ...{}, "baz": null};
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:160:29: Error: Unexpected token 'for'.
-//   Map<String, int> map50 = {for (int i = 0; oracle("foo"); i++) ...{}, "baz": null};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:161:59: Error: Unexpected token '...'.
-//   List<int> list51 = [for (int i = 0; oracle("foo"); i++) ...{}];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:161:23: Error: Unexpected token 'for'.
-//   List<int> list51 = [for (int i = 0; oracle("foo"); i++) ...{}];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:162:57: Error: Unexpected token '...'.
-//   Set<int> set51 = {for (int i = 0; oracle("foo"); i++) ...{}, null};
-//                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:162:21: Error: Unexpected token 'for'.
-//   Set<int> set51 = {for (int i = 0; oracle("foo"); i++) ...{}, null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:163:73: Error: Unexpected token '...'.
-//   List<int> list52 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[]];
-//                                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:163:59: Error: Unexpected token 'if'.
-//   List<int> list52 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[]];
-//                                                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:163:23: Error: Unexpected token 'for'.
-//   List<int> list52 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[]];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:164:71: Error: Unexpected token '...'.
-//   Set<int> set52 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[], null};
-//                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:164:57: Error: Unexpected token 'if'.
-//   Set<int> set52 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[], null};
-//                                                         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:164:21: Error: Unexpected token 'for'.
-//   Set<int> set52 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[], null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:165:65: Error: Unexpected token '...'.
-//   List<List<int>> list60 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:165:29: Error: Unexpected token 'for'.
-//   List<List<int>> list60 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:166:63: Error: Unexpected token '...'.
-//   Set<List<int>> set60 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:166:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set60 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:167:71: Error: Unexpected token '...'.
-//   Map<String, List<int>> map60 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:167:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map60 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:168:79: Error: Unexpected token '...'.
-//   List<List<int>> list61 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:168:65: Error: Unexpected token 'if'.
-//   List<List<int>> list61 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:168:29: Error: Unexpected token 'for'.
-//   List<List<int>> list61 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:169:77: Error: Unexpected token '...'.
-//   Set<List<int>> set61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:169:63: Error: Unexpected token 'if'.
-//   Set<List<int>> set61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                               ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:169:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:170:85: Error: Unexpected token '...'.
-//   Map<String, List<int>> map61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:170:71: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:170:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:171:29: Error: Unexpected token 'for'.
-//   List<List<int>> list70 = [for (int i = 0; oracle("foo"); i++) []];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:172:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set70 = {for (int i = 0; oracle("foo"); i++) [], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:173:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map70 = {for (int i = 0; oracle("foo"); i++) "bar": [], "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:174:65: Error: Unexpected token 'if'.
-//   List<List<int>> list71 = [for (int i = 0; oracle("foo"); i++) if (oracle()) []];
-//                                                                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:174:29: Error: Unexpected token 'for'.
-//   List<List<int>> list71 = [for (int i = 0; oracle("foo"); i++) if (oracle()) []];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:175:63: Error: Unexpected token 'if'.
-//   Set<List<int>> set71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) [], null};
-//                                                               ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:175:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) [], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:176:71: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": [], "baz": null};
-//                                                                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:176:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": [], "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:177:53: Error: Unexpected token 'if'.
-//   var list80 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:177:17: Error: Unexpected token 'for'.
-//   var list80 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:178:52: Error: Unexpected token 'if'.
-//   var set80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:178:16: Error: Unexpected token 'for'.
-//   var set80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:179:52: Error: Unexpected token 'if'.
-//   var map80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:179:16: Error: Unexpected token 'for'.
-//   var map80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:67: Error: Unexpected token '...'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:83: Error: Unexpected token '...'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:53: Error: Unexpected token 'if'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:17: Error: Unexpected token 'for'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:66: Error: Unexpected token '...'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:82: Error: Unexpected token '...'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:52: Error: Unexpected token 'if'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:16: Error: Unexpected token 'for'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:66: Error: Unexpected token '...'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:87: Error: Unexpected token '...'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:52: Error: Unexpected token 'if'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:16: Error: Unexpected token 'for'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:67: Error: Unexpected token '...'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:83: Error: Unexpected token '...'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:53: Error: Unexpected token 'if'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:17: Error: Unexpected token 'for'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:66: Error: Unexpected token '...'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:82: Error: Unexpected token '...'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:52: Error: Unexpected token 'if'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:16: Error: Unexpected token 'for'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:66: Error: Unexpected token '...'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:87: Error: Unexpected token '...'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:52: Error: Unexpected token 'if'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:16: Error: Unexpected token 'for'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:186:75: Error: Unexpected token '...'.
-//   var list83 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...listDouble];
-//                                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:186:53: Error: Unexpected token 'if'.
-//   var list83 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...listDouble];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:186:17: Error: Unexpected token 'for'.
-//   var list83 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...listDouble];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:187:66: Error: Unexpected token '...'.
-//   var set83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else 3.14, null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:187:52: Error: Unexpected token 'if'.
-//   var set83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else 3.14, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:187:16: Error: Unexpected token 'for'.
-//   var set83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else 3.14, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:188:66: Error: Unexpected token '...'.
-//   var map83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else "bar": 3.14, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:188:52: Error: Unexpected token 'if'.
-//   var map83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else "bar": 3.14, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:188:16: Error: Unexpected token 'for'.
-//   var map83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else "bar": 3.14, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:189:23: Error: Unexpected token 'for'.
-//   List<int> list90 = [for (int i = 0; oracle("foo"); i++) dynVar];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:190:21: Error: Unexpected token 'for'.
-//   Set<int> set90 = {for (int i = 0; oracle("foo"); i++) dynVar, null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:191:29: Error: Unexpected token 'for'.
-//   Map<String, int> map90 = {for (int i = 0; oracle("foo"); i++) "bar": dynVar, "baz": null};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:192:59: Error: Unexpected token '...'.
-//   List<int> list91 = [for (int i = 0; oracle("foo"); i++) ...dynVar];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:192:23: Error: Unexpected token 'for'.
-//   List<int> list91 = [for (int i = 0; oracle("foo"); i++) ...dynVar];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:193:57: Error: Unexpected token '...'.
-//   Set<int> set91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, null};
-//                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:193:21: Error: Unexpected token 'for'.
-//   Set<int> set91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:194:65: Error: Unexpected token '...'.
-//   Map<String, int> map91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, "baz": null};
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:194:29: Error: Unexpected token 'for'.
-//   Map<String, int> map91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, "baz": null};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:195:29: Error: Unexpected token 'for'.
-//   List<int> list100 = <int>[for (index = 0; oracle("foo"); index++) 42];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:196:27: Error: Unexpected token 'for'.
-//   Set<int> set100 = <int>{for (index = 0; oracle("foo"); index++) 42};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:197:43: Error: Unexpected token 'for'.
-//   Map<String, int> map100 = <String, int>{for (index = 0; oracle("foo"); index++) "bar": 42};
-//                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:198:18: Error: Unexpected token 'for'.
-//   var list110 = [for (var i in [1, 2, 3]) i];
-//                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:199:17: Error: Unexpected token 'for'.
-//   var set110 = {for (var i in [1, 2, 3]) i, null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:200:17: Error: Unexpected token 'for'.
-//   var map110 = {for (var i in [1, 2, 3]) "bar": i, "baz": null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:201:24: Error: Unexpected token 'for'.
-//   List<int> list120 = [for (var i in dynVar) i];
-//                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:202:22: Error: Unexpected token 'for'.
-//   Set<int> set120 = {for (var i in dynVar) i, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:203:30: Error: Unexpected token 'for'.
-//   Map<String, int> map120 = {for (var i in dynVar) "bar": i, "baz": null};
-//                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:204:24: Error: Unexpected token 'for'.
-//   List<int> list130 = [for (var i = 1; i < 2; i++) i];
-//                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:205:22: Error: Unexpected token 'for'.
-//   Set<int> set130 = {for (var i = 1; i < 2; i++) i};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:206:27: Error: Unexpected token 'for'.
-//   Map<int, int> map130 = {for (var i = 1; i < 2; i++) i: i};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) "bar"];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) "bar", null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:14: Error: Unexpected token 'for'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...["bar"]];
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...["bar"]];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:45: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...["bar"], null};
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...["bar"], null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:50: Error: Unexpected token '...'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:14: Error: Unexpected token 'for'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:45: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...map];
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...map];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:45: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...map, null};
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...map, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:50: Error: Unexpected token '...'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...list, 42: null};
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:14: Error: Unexpected token 'for'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...list, 42: null};
-//              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected token 'if'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:12: Error: Unexpected token 'for'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:48: Error: Unexpected token 'if'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:12: Error: Unexpected token 'for'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:56: Error: Unexpected token 'if'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                        ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:20: Error: Unexpected token 'for'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:59: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:45: Error: Unexpected token 'if'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:59: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:45: Error: Unexpected token 'if'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:67: Error: Unexpected token '...'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:53: Error: Unexpected token 'if'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:17: Error: Unexpected token 'for'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:67: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:45: Error: Unexpected token 'if'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:67: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:45: Error: Unexpected token 'if'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:82: Error: Unexpected token '...'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:53: Error: Unexpected token 'if'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:17: Error: Unexpected token 'for'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:230:9: Error: Unexpected token 'for'.
-//   <int>[for (i in <int>[1]) i];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:231:9: Error: Unexpected token 'for'.
-//   <int>{for (i in <int>[1]) i, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:16: Error: Unexpected token 'for'.
-// 	<String, int>{for (i in <int>[1]) "bar": i, "baz": null};
-// 	              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:234:17: Error: Unexpected token 'for'.
-//   var list10 = [for (var i in "not iterable") i];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:235:16: Error: Unexpected token 'for'.
-//   var set10 = {for (var i in "not iterable") i, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:236:16: Error: Unexpected token 'for'.
-//   var map10 = {for (var i in "not iterable") "bar": i, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:17: Error: Unexpected token 'for'.
-//   var list20 = [for (int i in ["not", "int"]) i];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:16: Error: Unexpected token 'for'.
-//   var set20 = {for (int i in ["not", "int"]) i, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:16: Error: Unexpected token 'for'.
-//   var map20 = {for (int i in ["not", "int"]) "bar": i, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:23: Error: Unexpected token 'for'.
-//   var list30 = [await for (var i in "not stream") i];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:22: Error: Unexpected token 'for'.
-//   var set30 = {await for (var i in "not stream") i, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:242:22: Error: Unexpected token 'for'.
-//   var map30 = {await for (var i in "not stream") "bar": i, "baz": null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:23: Error: Unexpected token 'for'.
-//   var list40 = [await for (int i in Stream.fromIterable(["not", "int"])) i];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:22: Error: Unexpected token 'for'.
-//   var set40 = {await for (int i in Stream.fromIterable(["not", "int"])) i, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:22: Error: Unexpected token 'for'.
-//   var map40 = {await for (int i in Stream.fromIterable(["not", "int"])) "bar": i, "baz": null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:17: Error: The keyword 'await' isn't allowed for a normal 'for' statement.
-// Try removing the keyword, or use a for-each statement.
-//   var list50 = [await for (;;) 42];
-//                 ^^^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:23: Error: Unexpected token 'for'.
-//   var list50 = [await for (;;) 42];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:16: Error: The keyword 'await' isn't allowed for a normal 'for' statement.
-// Try removing the keyword, or use a for-each statement.
-//   var set50 = {await for (;;) 42, null};
-//                ^^^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:22: Error: Unexpected token 'for'.
-//   var set50 = {await for (;;) 42, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:248:16: Error: The keyword 'await' isn't allowed for a normal 'for' statement.
-// Try removing the keyword, or use a for-each statement.
-//   var map50 = {await for (;;) "bar": 42, "baz": null};
-//                ^^^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:248:22: Error: Unexpected token 'for'.
-//   var map50 = {await for (;;) "bar": 42, "baz": null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:249:17: Error: Unexpected token 'for'.
-//   var list60 = [for (; "not bool";) 42];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:250:16: Error: Unexpected token 'for'.
-//   var set60 = {for (; "not bool";) 42, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:16: Error: Unexpected token 'for'.
-//   var map60 = {for (; "not bool";) "bar": 42, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:255:26: Error: The asynchronous for-in can only be used in functions marked with 'async' or 'async*'.
-// Try marking the function body with either 'async' or 'async*', or removing the 'await' before the for loop.
-//   <int>[await for (int i in stream) i];
-//                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:255:15: Error: Unexpected token 'for'.
-//   <int>[await for (int i in stream) i];
-//               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:256:26: Error: The asynchronous for-in can only be used in functions marked with 'async' or 'async*'.
-// Try marking the function body with either 'async' or 'async*', or removing the 'await' before the for loop.
-//   <int>{await for (int i in stream) i};
-//                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:256:15: Error: Unexpected token 'for'.
-//   <int>{await for (int i in stream) i};
-//               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:257:34: Error: The asynchronous for-in can only be used in functions marked with 'async' or 'async*'.
-// Try marking the function body with either 'async' or 'async*', or removing the 'await' before the for loop.
-//   <String, int>{await for (int i in stream) "bar": i};
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:257:23: Error: Unexpected token 'for'.
-//   <String, int>{await for (int i in stream) "bar": i};
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:267:23: Error: Unexpected token 'if'.
-//   List<int> list10 = [if (a is B) a.foo];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:268:21: Error: Unexpected token 'if'.
-//   Set<int> set10 = {if (a is B) a.foo};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:269:26: Error: Unexpected token 'if'.
-//   Map<int, int> map10 = {if (a is B) a.foo: a.foo};
-//                          ^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get foo() → core::int*
-    return 42;
-}
-static method oracle<T extends core::Object* = dynamic>([self::oracle::T* t = #C1]) → dynamic
-  return true;
-static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::Map<core::String*, core::int*>* mapToInt, core::Map<core::String*, core::double*>* mapToDouble) → dynamic {
-  dynamic list10 = <dynamic>[];
-  dynamic set10 = <dynamic>{null};
-  dynamic map10 = <dynamic, dynamic>{"baz": null};
-  dynamic list11 = <dynamic>[];
-  dynamic set11 = <dynamic>{null};
-  dynamic map11 = <dynamic, dynamic>{"baz": null};
-  dynamic list12 = <dynamic>[];
-  dynamic set12 = <dynamic>{null};
-  dynamic map12 = <dynamic, dynamic>{"baz": null};
-  dynamic list20 = <dynamic>[];
-  dynamic set20 = <dynamic>{null};
-  dynamic map20 = <dynamic, dynamic>{"baz": null};
-  dynamic list21 = <dynamic>[];
-  dynamic set21 = <dynamic>{null};
-  dynamic map21 = <dynamic, dynamic>{"baz": null};
-  dynamic list22 = <dynamic>[];
-  dynamic set22 = <dynamic>{null};
-  dynamic map22 = <dynamic, dynamic>{"baz": null};
-  dynamic list30 = <dynamic>[];
-  dynamic set30 = <dynamic>{null};
-  dynamic map30 = <dynamic, dynamic>{"baz": null};
-  dynamic list31 = <dynamic>[];
-  dynamic set31 = <dynamic>{null};
-  dynamic map31 = <dynamic, dynamic>{"baz": null};
-  dynamic list33 = <dynamic>[];
-  dynamic set33 = <dynamic>{null};
-  dynamic map33 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list40 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set40 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map40 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list41 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set41 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list42 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set42 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map42 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list50 = <dynamic>[];
-  core::Set<core::int*>* set50 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map50 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list51 = <dynamic>[];
-  core::Set<core::int*>* set51 = <dynamic>{null};
-  core::List<core::int*>* list52 = <dynamic>[];
-  core::Set<core::int*>* set52 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map52 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list60 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set60 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map60 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list61 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set61 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map61 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list70 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set70 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list71 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set71 = <dynamic>{null};
-  dynamic list80 = <dynamic>[];
-  dynamic set80 = <dynamic>{null};
-  dynamic map80 = <dynamic, dynamic>{"baz": null};
-  dynamic list81 = <dynamic>[];
-  dynamic set81 = <dynamic>{null};
-  dynamic map81 = <dynamic, dynamic>{"baz": null};
-  dynamic list82 = <dynamic>[];
-  dynamic set82 = <dynamic>{null};
-  dynamic map82 = <dynamic>{null};
-  dynamic list83 = <dynamic>[];
-  dynamic set83 = <dynamic>{null};
-  dynamic map83 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list90 = <dynamic>[];
-  core::Set<core::int*>* set90 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map90 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list91 = <dynamic>[];
-  core::Set<core::int*>* set91 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map91 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list100 = <dynamic>[];
-  core::Set<core::int*>* set100 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map100 = <dynamic, dynamic>{};
-}
-static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::String*>[];
-  <core::String*>{null};
-  <core::String*, core::String*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  core::Set<dynamic>* set10 = <dynamic, dynamic>{};
-  core::Map<dynamic, dynamic>* map10 = <dynamic, dynamic>{};
-  core::Set<dynamic>* set11 = <dynamic, dynamic>{};
-  core::Map<dynamic, dynamic>* map11 = <dynamic, dynamic>{};
-  dynamic map12 = <dynamic, dynamic>{};
-  dynamic map13 = <dynamic, dynamic>{};
-  core::List<core::int*>* list20 = <dynamic>[];
-  core::Set<core::int*>* set20 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map30 = <dynamic, dynamic>{};
-  core::List<core::String*>* list40 = <core::String*>[];
-  core::Set<core::String*>* set40 = <core::String*>{};
-  core::Map<core::String*, core::int*>* map40 = <core::String*, core::int*>{};
-  core::Map<core::int*, core::String*>* map41 = <core::int*, core::String*>{};
-}
-static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
-  dynamic list10 = <dynamic>[];
-  dynamic set10 = <dynamic>{null};
-  dynamic map10 = <dynamic, dynamic>{"baz": null};
-  dynamic list11 = <dynamic>[];
-  dynamic set11 = <dynamic>{null};
-  dynamic map11 = <dynamic, dynamic>{"baz": null};
-  dynamic list12 = <dynamic>[];
-  dynamic set12 = <dynamic>{null};
-  dynamic map12 = <dynamic, dynamic>{"baz": null};
-  dynamic list20 = <dynamic>[];
-  dynamic set20 = <dynamic>{null};
-  dynamic map20 = <dynamic, dynamic>{"baz": null};
-  dynamic list21 = <dynamic>[];
-  dynamic set21 = <dynamic>{null};
-  dynamic map21 = <dynamic, dynamic>{"baz": null};
-  dynamic list22 = <dynamic>[];
-  dynamic set22 = <dynamic>{null};
-  dynamic map22 = <dynamic, dynamic>{"baz": null};
-  dynamic list30 = <dynamic>[];
-  dynamic set30 = <dynamic>{null};
-  dynamic map30 = <dynamic, dynamic>{"baz": null};
-  dynamic list31 = <dynamic>[];
-  dynamic set31 = <dynamic>{null};
-  dynamic map31 = <dynamic, dynamic>{"baz": null};
-  dynamic list33 = <dynamic>[];
-  dynamic set33 = <dynamic>{null};
-  dynamic map33 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list40 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set40 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map40 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list41 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set41 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list42 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set42 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map42 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list50 = <dynamic>[];
-  core::Set<core::int*>* set50 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map50 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list51 = <dynamic>[];
-  core::Set<core::int*>* set51 = <dynamic>{null};
-  core::List<core::int*>* list52 = <dynamic>[];
-  core::Set<core::int*>* set52 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list60 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set60 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map60 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list61 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set61 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map61 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list70 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set70 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map70 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list71 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set71 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map71 = <dynamic, dynamic>{"baz": null};
-  dynamic list80 = <dynamic>[];
-  dynamic set80 = <dynamic>{null};
-  dynamic map80 = <dynamic, dynamic>{"baz": null};
-  dynamic list81 = <dynamic>[];
-  dynamic set81 = <dynamic>{null};
-  dynamic map81 = <dynamic, dynamic>{"baz": null};
-  dynamic list82 = <dynamic>[];
-  dynamic set82 = <dynamic>{null};
-  dynamic map82 = <dynamic, dynamic>{"baz": null};
-  dynamic list83 = <dynamic>[];
-  dynamic set83 = <dynamic>{null};
-  dynamic map83 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list90 = <dynamic>[];
-  core::Set<core::int*>* set90 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map90 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list91 = <dynamic>[];
-  core::Set<core::int*>* set91 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map91 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list100 = <core::int*>[];
-  core::Set<core::int*>* set100 = <core::int*>{};
-  core::Map<core::String*, core::int*>* map100 = <core::String*, core::int*>{};
-  dynamic list110 = <dynamic>[];
-  dynamic set110 = <dynamic>{null};
-  dynamic map110 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list120 = <dynamic>[];
-  core::Set<core::int*>* set120 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map120 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list130 = <dynamic>[];
-  core::Set<core::int*>* set130 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map130 = <dynamic, dynamic>{};
-}
-static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
-  <core::int*>[];
-  <core::int*>{null};
-  <core::int*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::int*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::int*, core::int*>{42: null};
-  <core::String*>[];
-  <core::String*>{null};
-  <core::String*, core::String*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  final dynamic i = 0;
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  dynamic list10 = <dynamic>[];
-  dynamic set10 = <dynamic>{null};
-  dynamic map10 = <dynamic, dynamic>{"baz": null};
-  dynamic list20 = <dynamic>[];
-  dynamic set20 = <dynamic>{null};
-  dynamic map20 = <dynamic, dynamic>{"baz": null};
-  dynamic list30 = <dynamic>[];
-  dynamic set30 = <dynamic>{null};
-  dynamic map30 = <dynamic, dynamic>{"baz": null};
-  dynamic list40 = <dynamic>[];
-  dynamic set40 = <dynamic>{null};
-  dynamic map40 = <dynamic, dynamic>{"baz": null};
-  dynamic list50 = <dynamic>[];
-  dynamic set50 = <dynamic>{null};
-  dynamic map50 = <dynamic, dynamic>{"baz": null};
-  dynamic list60 = <dynamic>[];
-  dynamic set60 = <dynamic>{null};
-  dynamic map60 = <dynamic, dynamic>{"baz": null};
-}
-static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
-  <core::int*>[];
-  <core::int*>{};
-  <core::String*, core::int*>{};
-}
-static method testPromotion(self::A* a) → dynamic {
-  core::List<core::int*>* list10 = <dynamic>[];
-  core::Set<core::int*>* set10 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map10 = <dynamic, dynamic>{};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 629d539..0000000
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,2063 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:10:17: Error: Unexpected token 'if'.
-//   var list10 = [if (oracle("foo")) 42];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:11:16: Error: Unexpected token 'if'.
-//   var set10 = {if (oracle("foo")) 42, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:12:16: Error: Unexpected token 'if'.
-//   var map10 = {if (oracle("foo")) "bar": 42, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:13:17: Error: Unexpected token 'if'.
-//   var list11 = [if (oracle("foo")) dynVar];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:14:16: Error: Unexpected token 'if'.
-//   var set11 = {if (oracle("foo")) dynVar, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:15:16: Error: Unexpected token 'if'.
-//   var map11 = {if (oracle("foo")) "bar": dynVar, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:16:17: Error: Unexpected token 'if'.
-//   var list12 = [if (oracle("foo")) [42]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:17:16: Error: Unexpected token 'if'.
-//   var set12 = {if (oracle("foo")) [42], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:18:16: Error: Unexpected token 'if'.
-//   var map12 = {if (oracle("foo")) "bar": [42], "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:19:36: Error: Unexpected token '...'.
-//   var list20 = [if (oracle("foo")) ...[42]];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:19:17: Error: Unexpected token 'if'.
-//   var list20 = [if (oracle("foo")) ...[42]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:20:35: Error: Unexpected token '...'.
-//   var set20 = {if (oracle("foo")) ...[42], null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:20:16: Error: Unexpected token 'if'.
-//   var set20 = {if (oracle("foo")) ...[42], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:21:35: Error: Unexpected token '...'.
-//   var map20 = {if (oracle("foo")) ...{"bar": 42}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:21:16: Error: Unexpected token 'if'.
-//   var map20 = {if (oracle("foo")) ...{"bar": 42}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:22:36: Error: Unexpected token '...'.
-//   var list21 = [if (oracle("foo")) ...[dynVar]];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:22:17: Error: Unexpected token 'if'.
-//   var list21 = [if (oracle("foo")) ...[dynVar]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:23:35: Error: Unexpected token '...'.
-//   var set21 = {if (oracle("foo")) ...[dynVar], null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:23:16: Error: Unexpected token 'if'.
-//   var set21 = {if (oracle("foo")) ...[dynVar], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:24:35: Error: Unexpected token '...'.
-//   var map21 = {if (oracle("foo")) ...{"bar": dynVar}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:24:16: Error: Unexpected token 'if'.
-//   var map21 = {if (oracle("foo")) ...{"bar": dynVar}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:25:36: Error: Unexpected token '...'.
-//   var list22 = [if (oracle("foo")) ...[[42]]];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:25:17: Error: Unexpected token 'if'.
-//   var list22 = [if (oracle("foo")) ...[[42]]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:26:35: Error: Unexpected token '...'.
-//   var set22 = {if (oracle("foo")) ...[[42]], null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:26:16: Error: Unexpected token 'if'.
-//   var set22 = {if (oracle("foo")) ...[[42]], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:27:35: Error: Unexpected token '...'.
-//   var map22 = {if (oracle("foo")) ...{"bar": [42]}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:27:16: Error: Unexpected token 'if'.
-//   var map22 = {if (oracle("foo")) ...{"bar": [42]}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:28:50: Error: Unexpected token '...'.
-//   var list30 = [if (oracle("foo")) if (oracle()) ...[42]];
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:28:36: Error: Unexpected token 'if'.
-//   var list30 = [if (oracle("foo")) if (oracle()) ...[42]];
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:28:17: Error: Unexpected token 'if'.
-//   var list30 = [if (oracle("foo")) if (oracle()) ...[42]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:29:49: Error: Unexpected token '...'.
-//   var set30 = {if (oracle("foo")) if (oracle()) ...[42], null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:29:35: Error: Unexpected token 'if'.
-//   var set30 = {if (oracle("foo")) if (oracle()) ...[42], null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:29:16: Error: Unexpected token 'if'.
-//   var set30 = {if (oracle("foo")) if (oracle()) ...[42], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:30:49: Error: Unexpected token '...'.
-//   var map30 = {if (oracle("foo")) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:30:35: Error: Unexpected token 'if'.
-//   var map30 = {if (oracle("foo")) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:30:16: Error: Unexpected token 'if'.
-//   var map30 = {if (oracle("foo")) if (oracle()) ...{"bar": 42}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:31:50: Error: Unexpected token '...'.
-//   var list31 = [if (oracle("foo")) if (oracle()) ...[dynVar]];
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:31:36: Error: Unexpected token 'if'.
-//   var list31 = [if (oracle("foo")) if (oracle()) ...[dynVar]];
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:31:17: Error: Unexpected token 'if'.
-//   var list31 = [if (oracle("foo")) if (oracle()) ...[dynVar]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:32:49: Error: Unexpected token '...'.
-//   var set31 = {if (oracle("foo")) if (oracle()) ...[dynVar], null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:32:35: Error: Unexpected token 'if'.
-//   var set31 = {if (oracle("foo")) if (oracle()) ...[dynVar], null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:32:16: Error: Unexpected token 'if'.
-//   var set31 = {if (oracle("foo")) if (oracle()) ...[dynVar], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:33:49: Error: Unexpected token '...'.
-//   var map31 = {if (oracle("foo")) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:33:35: Error: Unexpected token 'if'.
-//   var map31 = {if (oracle("foo")) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:33:16: Error: Unexpected token 'if'.
-//   var map31 = {if (oracle("foo")) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:34:50: Error: Unexpected token '...'.
-//   var list33 = [if (oracle("foo")) if (oracle()) ...[[42]]];
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:34:36: Error: Unexpected token 'if'.
-//   var list33 = [if (oracle("foo")) if (oracle()) ...[[42]]];
-//                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:34:17: Error: Unexpected token 'if'.
-//   var list33 = [if (oracle("foo")) if (oracle()) ...[[42]]];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:35:49: Error: Unexpected token '...'.
-//   var set33 = {if (oracle("foo")) if (oracle()) ...[[42]], null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:35:35: Error: Unexpected token 'if'.
-//   var set33 = {if (oracle("foo")) if (oracle()) ...[[42]], null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:35:16: Error: Unexpected token 'if'.
-//   var set33 = {if (oracle("foo")) if (oracle()) ...[[42]], null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:36:49: Error: Unexpected token '...'.
-//   var map33 = {if (oracle("foo")) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:36:35: Error: Unexpected token 'if'.
-//   var map33 = {if (oracle("foo")) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:36:16: Error: Unexpected token 'if'.
-//   var map33 = {if (oracle("foo")) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:37:48: Error: Unexpected token '...'.
-//   List<List<int>> list40 = [if (oracle("foo")) ...[[]]];
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:37:29: Error: Unexpected token 'if'.
-//   List<List<int>> list40 = [if (oracle("foo")) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:38:46: Error: Unexpected token '...'.
-//   Set<List<int>> set40 = {if (oracle("foo")) ...[[]], null};
-//                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:38:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set40 = {if (oracle("foo")) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:54: Error: Unexpected token '...'.
-//   Map<String, List<int>> map40 = {if (oracle("foo")) ...{"bar", []}, "baz": null};
-//                                                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map40 = {if (oracle("foo")) ...{"bar", []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:40:48: Error: Unexpected token '...'.
-//   List<List<int>> list41 = [if (oracle("foo")) ...{[]}];
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:40:29: Error: Unexpected token 'if'.
-//   List<List<int>> list41 = [if (oracle("foo")) ...{[]}];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:46: Error: Unexpected token '...'.
-//   Set<List<int>> set41 = {if (oracle("foo")) ...{[]}, null};
-//                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set41 = {if (oracle("foo")) ...{[]}, null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:42:62: Error: Unexpected token '...'.
-//   List<List<int>> list42 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:42:48: Error: Unexpected token 'if'.
-//   List<List<int>> list42 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:42:29: Error: Unexpected token 'if'.
-//   List<List<int>> list42 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:43:60: Error: Unexpected token '...'.
-//   Set<List<int>> set42 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:43:46: Error: Unexpected token 'if'.
-//   Set<List<int>> set42 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:43:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set42 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:44:68: Error: Unexpected token '...'.
-//   Map<String, List<int>> map42 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:44:54: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map42 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                      ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:44:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map42 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:45:42: Error: Unexpected token '...'.
-//   List<int> list50 = [if (oracle("foo")) ...[]];
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:45:23: Error: Unexpected token 'if'.
-//   List<int> list50 = [if (oracle("foo")) ...[]];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:46:40: Error: Unexpected token '...'.
-//   Set<int> set50 = {if (oracle("foo")) ...[], null};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:46:21: Error: Unexpected token 'if'.
-//   Set<int> set50 = {if (oracle("foo")) ...[], null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:47:48: Error: Unexpected token '...'.
-//   Map<String, int> map50 = {if (oracle("foo")) ...{}, "baz": null};
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:47:29: Error: Unexpected token 'if'.
-//   Map<String, int> map50 = {if (oracle("foo")) ...{}, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:48:42: Error: Unexpected token '...'.
-//   List<int> list51 = [if (oracle("foo")) ...{}];
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:48:23: Error: Unexpected token 'if'.
-//   List<int> list51 = [if (oracle("foo")) ...{}];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:49:40: Error: Unexpected token '...'.
-//   Set<int> set51 = {if (oracle("foo")) ...{}, null};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:49:21: Error: Unexpected token 'if'.
-//   Set<int> set51 = {if (oracle("foo")) ...{}, null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:50:56: Error: Unexpected token '...'.
-//   List<int> list52 = [if (oracle("foo")) if (oracle()) ...[]];
-//                                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:50:42: Error: Unexpected token 'if'.
-//   List<int> list52 = [if (oracle("foo")) if (oracle()) ...[]];
-//                                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:50:23: Error: Unexpected token 'if'.
-//   List<int> list52 = [if (oracle("foo")) if (oracle()) ...[]];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:51:54: Error: Unexpected token '...'.
-//   Set<int> set52 = {if (oracle("foo")) if (oracle()) ...[], null};
-//                                                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:51:40: Error: Unexpected token 'if'.
-//   Set<int> set52 = {if (oracle("foo")) if (oracle()) ...[], null};
-//                                        ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:51:21: Error: Unexpected token 'if'.
-//   Set<int> set52 = {if (oracle("foo")) if (oracle()) ...[], null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:52:62: Error: Unexpected token '...'.
-//   Map<String, int> map52 = {if (oracle("foo")) if (oracle()) ...{}, "baz": null};
-//                                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:52:48: Error: Unexpected token 'if'.
-//   Map<String, int> map52 = {if (oracle("foo")) if (oracle()) ...{}, "baz": null};
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:52:29: Error: Unexpected token 'if'.
-//   Map<String, int> map52 = {if (oracle("foo")) if (oracle()) ...{}, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:53:48: Error: Unexpected token '...'.
-//   List<List<int>> list60 = [if (oracle("foo")) ...[[]]];
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:53:29: Error: Unexpected token 'if'.
-//   List<List<int>> list60 = [if (oracle("foo")) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:54:46: Error: Unexpected token '...'.
-//   Set<List<int>> set60 = {if (oracle("foo")) ...[[]], null};
-//                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:54:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set60 = {if (oracle("foo")) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:55:54: Error: Unexpected token '...'.
-//   Map<String, List<int>> map60 = {if (oracle("foo")) ...{"bar": []}, "baz": null};
-//                                                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:55:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map60 = {if (oracle("foo")) ...{"bar": []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:56:62: Error: Unexpected token '...'.
-//   List<List<int>> list61 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:56:48: Error: Unexpected token 'if'.
-//   List<List<int>> list61 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:56:29: Error: Unexpected token 'if'.
-//   List<List<int>> list61 = [if (oracle("foo")) if (oracle()) ...[[]]];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:57:60: Error: Unexpected token '...'.
-//   Set<List<int>> set61 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:57:46: Error: Unexpected token 'if'.
-//   Set<List<int>> set61 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:57:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set61 = {if (oracle("foo")) if (oracle()) ...[[]], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:58:68: Error: Unexpected token '...'.
-//   Map<String, List<int>> map61 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:58:54: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map61 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                      ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:58:35: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map61 = {if (oracle("foo")) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:59:29: Error: Unexpected token 'if'.
-//   List<List<int>> list70 = [if (oracle("foo")) []];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:60:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set70 = {if (oracle("foo")) [], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:61:48: Error: Unexpected token 'if'.
-//   List<List<int>> list71 = [if (oracle("foo")) if (oracle()) []];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:61:29: Error: Unexpected token 'if'.
-//   List<List<int>> list71 = [if (oracle("foo")) if (oracle()) []];
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:62:46: Error: Unexpected token 'if'.
-//   Set<List<int>> set71 = {if (oracle("foo")) if (oracle()) [], null};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:62:27: Error: Unexpected token 'if'.
-//   Set<List<int>> set71 = {if (oracle("foo")) if (oracle()) [], null};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:63:17: Error: Unexpected token 'if'.
-//   var list80 = [if (oracle("foo")) 42 else 3.14];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:64:16: Error: Unexpected token 'if'.
-//   var set80 = {if (oracle("foo")) 42 else 3.14, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:65:16: Error: Unexpected token 'if'.
-//   var map80 = {if (oracle("foo")) "bar": 42 else "bar": 3.14, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:66:36: Error: Unexpected token '...'.
-//   var list81 = [if (oracle("foo")) ...listInt else ...listDouble];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:66:52: Error: Unexpected token '...'.
-//   var list81 = [if (oracle("foo")) ...listInt else ...listDouble];
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:66:17: Error: Unexpected token 'if'.
-//   var list81 = [if (oracle("foo")) ...listInt else ...listDouble];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:67:35: Error: Unexpected token '...'.
-//   var set81 = {if (oracle("foo")) ...listInt else ...listDouble, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:67:51: Error: Unexpected token '...'.
-//   var set81 = {if (oracle("foo")) ...listInt else ...listDouble, null};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:67:16: Error: Unexpected token 'if'.
-//   var set81 = {if (oracle("foo")) ...listInt else ...listDouble, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:68:35: Error: Unexpected token '...'.
-//   var map81 = {if (oracle("foo")) ...mapToInt else ...mapToDouble, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:68:52: Error: Unexpected token '...'.
-//   var map81 = {if (oracle("foo")) ...mapToInt else ...mapToDouble, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:68:16: Error: Unexpected token 'if'.
-//   var map81 = {if (oracle("foo")) ...mapToInt else ...mapToDouble, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:69:36: Error: Unexpected token '...'.
-//   var list82 = [if (oracle("foo")) ...listInt else ...dynVar];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:69:52: Error: Unexpected token '...'.
-//   var list82 = [if (oracle("foo")) ...listInt else ...dynVar];
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:69:17: Error: Unexpected token 'if'.
-//   var list82 = [if (oracle("foo")) ...listInt else ...dynVar];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:70:35: Error: Unexpected token '...'.
-//   var set82 = {if (oracle("foo")) ...listInt else ...dynVar, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:70:51: Error: Unexpected token '...'.
-//   var set82 = {if (oracle("foo")) ...listInt else ...dynVar, null};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:70:16: Error: Unexpected token 'if'.
-//   var set82 = {if (oracle("foo")) ...listInt else ...dynVar, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:35: Error: Unexpected token '...'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:52: Error: Unexpected token '...'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:16: Error: Unexpected token 'if'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:72:44: Error: Unexpected token '...'.
-//   var list83 = [if (oracle("foo")) 42 else ...listDouble];
-//                                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:72:17: Error: Unexpected token 'if'.
-//   var list83 = [if (oracle("foo")) 42 else ...listDouble];
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:35: Error: Unexpected token '...'.
-//   var set83 = {if (oracle("foo")) ...listInt else 3.14, null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:16: Error: Unexpected token 'if'.
-//   var set83 = {if (oracle("foo")) ...listInt else 3.14, null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:74:35: Error: Unexpected token '...'.
-//   var map83 = {if (oracle("foo")) ...mapToInt else "bar": 3.14, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:74:16: Error: Unexpected token 'if'.
-//   var map83 = {if (oracle("foo")) ...mapToInt else "bar": 3.14, "baz": null};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:75:23: Error: Unexpected token 'if'.
-//   List<int> list90 = [if (oracle("foo")) dynVar];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:76:21: Error: Unexpected token 'if'.
-//   Set<int> set90 = {if (oracle("foo")) dynVar, null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:77:29: Error: Unexpected token 'if'.
-//   Map<String, int> map90 = {if (oracle("foo")) "bar": dynVar, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:78:42: Error: Unexpected token '...'.
-//   List<int> list91 = [if (oracle("foo")) ...dynVar];
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:78:23: Error: Unexpected token 'if'.
-//   List<int> list91 = [if (oracle("foo")) ...dynVar];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:79:40: Error: Unexpected token '...'.
-//   Set<int> set91 = {if (oracle("foo")) ...dynVar, null};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:79:21: Error: Unexpected token 'if'.
-//   Set<int> set91 = {if (oracle("foo")) ...dynVar, null};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:80:48: Error: Unexpected token '...'.
-//   Map<String, int> map91 = {if (oracle("foo")) ...dynVar, "baz": null};
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:80:29: Error: Unexpected token 'if'.
-//   Map<String, int> map91 = {if (oracle("foo")) ...dynVar, "baz": null};
-//                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:81:24: Error: Unexpected token 'if'.
-//   List<int> list100 = [if (dynVar) 42];
-//                        ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:82:22: Error: Unexpected token 'if'.
-//   Set<int> set100 = {if (dynVar) 42};
-//                      ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:83:27: Error: Unexpected token 'if'.
-//   Map<int, int> map100 = {if (dynVar) 42: 42};
-//                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) "bar"];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) "bar", null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) "bar": "bar", "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) ...["bar"]];
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) ...["bar"]];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...["bar"], null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...["bar"], null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:36: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) ...{"bar": "bar"}, "baz": null};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) ...{"bar": "bar"}, "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:28: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) ...map];
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) ...map];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...map, null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...map, null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:36: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) ...["bar"], "baz": null};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) ...["bar"], "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:12: Error: Unexpected token 'if'.
-//   <String>[if (oracle("foo")) 42 else 3.14];
-//            ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:12: Error: Unexpected token 'if'.
-//   <String>{if (oracle("foo")) 42 else 3.14, null};
-//            ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:20: Error: Unexpected token 'if'.
-//   <String, String>{if (oracle("foo")) "bar": 42 else "baz": 3.14, "baz": null};
-//                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:28: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) ...map else 42];
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) ...map else 42];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:36: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) ...[42] else "bar": 42, "baz": null};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) ...[42] else "bar": 42, "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:36: Error: Unexpected token '...'.
-//   <int>[if (oracle("foo")) 42 else ...map];
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:9: Error: Unexpected token 'if'.
-//   <int>[if (oracle("foo")) 42 else ...map];
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:28: Error: Unexpected token '...'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:9: Error: Unexpected token 'if'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:51: Error: Unexpected token '...'.
-//   <String, int>{if (oracle("foo")) "bar": 42 else ...[42], "baz": null};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:17: Error: Unexpected token 'if'.
-//   <String, int>{if (oracle("foo")) "bar": 42 else ...[42], "baz": null};
-//                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:106:25: Error: Unexpected token 'if'.
-//   Set<dynamic> set10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:107:34: Error: Unexpected token 'if'.
-//   Map<dynamic, dynamic> map10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:108:25: Error: Unexpected token 'if'.
-//   Set<dynamic> set11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:109:34: Error: Unexpected token 'if'.
-//   Map<dynamic, dynamic> map11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:110:16: Error: Unexpected token 'if'.
-//   var map12 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:111:16: Error: Unexpected token 'if'.
-//   var map13 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:23: Error: Unexpected token 'if'.
-//   List<int> list20 = [if (42) 42];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:113:21: Error: Unexpected token 'if'.
-//   Set<int> set20 = {if (42) 42};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:26: Error: Unexpected token 'if'.
-//   Map<int, int> map30 = {if (42) 42: 42};
-//                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:34: Error: Unexpected token 'if'.
-//   List<String> list40 = <String>[if (oracle("foo")) true else 42];
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:32: Error: Unexpected token 'if'.
-//   Set<String> set40 = <String>{if (oracle("foo")) true else 42};
-//                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:42: Error: Unexpected token 'if'.
-//   Map<String, int> map40 = <String, int>{if (oracle("foo")) true: 42 else 42: 42};
-//                                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:42: Error: Unexpected token 'if'.
-//   Map<int, String> map41 = <int, String>{if (oracle("foo")) 42: true else 42: 42};
-//                                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:123:17: Error: Unexpected token 'for'.
-//   var list10 = [for (int i = 0; oracle("foo"); i++) 42];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:124:16: Error: Unexpected token 'for'.
-//   var set10 = {for (int i = 0; oracle("foo"); i++) 42, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:125:16: Error: Unexpected token 'for'.
-//   var map10 = {for (int i = 0; oracle("foo"); i++) "bar": 42, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:126:17: Error: Unexpected token 'for'.
-//   var list11 = [for (int i = 0; oracle("foo"); i++) dynVar];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:127:16: Error: Unexpected token 'for'.
-//   var set11 = {for (int i = 0; oracle("foo"); i++) dynVar, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:128:16: Error: Unexpected token 'for'.
-//   var map11 = {for (int i = 0; oracle("foo"); i++) "bar": dynVar, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:129:17: Error: Unexpected token 'for'.
-//   var list12 = [for (int i = 0; oracle("foo"); i++) [42]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:130:16: Error: Unexpected token 'for'.
-//   var set12 = {for (int i = 0; oracle("foo"); i++) [42], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:131:16: Error: Unexpected token 'for'.
-//   var map12 = {for (int i = 0; oracle("foo"); i++) "bar": [42], "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:132:53: Error: Unexpected token '...'.
-//   var list20 = [for (int i = 0; oracle("foo"); i++) ...[42]];
-//                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:132:17: Error: Unexpected token 'for'.
-//   var list20 = [for (int i = 0; oracle("foo"); i++) ...[42]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:133:52: Error: Unexpected token '...'.
-//   var set20 = {for (int i = 0; oracle("foo"); i++) ...[42], null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:133:16: Error: Unexpected token 'for'.
-//   var set20 = {for (int i = 0; oracle("foo"); i++) ...[42], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:134:52: Error: Unexpected token '...'.
-//   var map20 = {for (int i = 0; oracle("foo"); i++) ...{"bar": 42}, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:134:16: Error: Unexpected token 'for'.
-//   var map20 = {for (int i = 0; oracle("foo"); i++) ...{"bar": 42}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:135:53: Error: Unexpected token '...'.
-//   var list21 = [for (int i = 0; oracle("foo"); i++) ...[dynVar]];
-//                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:135:17: Error: Unexpected token 'for'.
-//   var list21 = [for (int i = 0; oracle("foo"); i++) ...[dynVar]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:136:52: Error: Unexpected token '...'.
-//   var set21 = {for (int i = 0; oracle("foo"); i++) ...[dynVar], null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:136:16: Error: Unexpected token 'for'.
-//   var set21 = {for (int i = 0; oracle("foo"); i++) ...[dynVar], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:137:52: Error: Unexpected token '...'.
-//   var map21 = {for (int i = 0; oracle("foo"); i++) ...{"bar": dynVar}, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:137:16: Error: Unexpected token 'for'.
-//   var map21 = {for (int i = 0; oracle("foo"); i++) ...{"bar": dynVar}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:138:53: Error: Unexpected token '...'.
-//   var list22 = [for (int i = 0; oracle("foo"); i++) ...[[42]]];
-//                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:138:17: Error: Unexpected token 'for'.
-//   var list22 = [for (int i = 0; oracle("foo"); i++) ...[[42]]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:139:52: Error: Unexpected token '...'.
-//   var set22 = {for (int i = 0; oracle("foo"); i++) ...[[42]], null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:139:16: Error: Unexpected token 'for'.
-//   var set22 = {for (int i = 0; oracle("foo"); i++) ...[[42]], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:140:52: Error: Unexpected token '...'.
-//   var map22 = {for (int i = 0; oracle("foo"); i++) ...{"bar": [42]}, "baz": null};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:140:16: Error: Unexpected token 'for'.
-//   var map22 = {for (int i = 0; oracle("foo"); i++) ...{"bar": [42]}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:141:67: Error: Unexpected token '...'.
-//   var list30 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42]];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:141:53: Error: Unexpected token 'if'.
-//   var list30 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42]];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:141:17: Error: Unexpected token 'for'.
-//   var list30 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:142:66: Error: Unexpected token '...'.
-//   var set30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42], null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:142:52: Error: Unexpected token 'if'.
-//   var set30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42], null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:142:16: Error: Unexpected token 'for'.
-//   var set30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[42], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:143:66: Error: Unexpected token '...'.
-//   var map30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:143:52: Error: Unexpected token 'if'.
-//   var map30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": 42}, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:143:16: Error: Unexpected token 'for'.
-//   var map30 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": 42}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:144:67: Error: Unexpected token '...'.
-//   var list31 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar]];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:144:53: Error: Unexpected token 'if'.
-//   var list31 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar]];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:144:17: Error: Unexpected token 'for'.
-//   var list31 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:145:66: Error: Unexpected token '...'.
-//   var set31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar], null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:145:52: Error: Unexpected token 'if'.
-//   var set31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar], null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:145:16: Error: Unexpected token 'for'.
-//   var set31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[dynVar], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:146:66: Error: Unexpected token '...'.
-//   var map31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:146:52: Error: Unexpected token 'if'.
-//   var map31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:146:16: Error: Unexpected token 'for'.
-//   var map31 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": dynVar}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:147:67: Error: Unexpected token '...'.
-//   var list33 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]]];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:147:53: Error: Unexpected token 'if'.
-//   var list33 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]]];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:147:17: Error: Unexpected token 'for'.
-//   var list33 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]]];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:148:66: Error: Unexpected token '...'.
-//   var set33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]], null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:148:52: Error: Unexpected token 'if'.
-//   var set33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]], null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:148:16: Error: Unexpected token 'for'.
-//   var set33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[42]], null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:149:66: Error: Unexpected token '...'.
-//   var map33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:149:52: Error: Unexpected token 'if'.
-//   var map33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:149:16: Error: Unexpected token 'for'.
-//   var map33 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": [42]}, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:150:65: Error: Unexpected token '...'.
-//   List<List<int>> list40 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:150:29: Error: Unexpected token 'for'.
-//   List<List<int>> list40 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:151:63: Error: Unexpected token '...'.
-//   Set<List<int>> set40 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:151:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set40 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:152:71: Error: Unexpected token '...'.
-//   Map<String, List<int>> map40 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:152:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map40 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:153:65: Error: Unexpected token '...'.
-//   List<List<int>> list41 = [for (int i = 0; oracle("foo"); i++) ...{[]}];
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:153:29: Error: Unexpected token 'for'.
-//   List<List<int>> list41 = [for (int i = 0; oracle("foo"); i++) ...{[]}];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:154:63: Error: Unexpected token '...'.
-//   Set<List<int>> set41 = {for (int i = 0; oracle("foo"); i++) ...{[]}, null};
-//                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:154:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set41 = {for (int i = 0; oracle("foo"); i++) ...{[]}, null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:155:79: Error: Unexpected token '...'.
-//   List<List<int>> list42 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:155:65: Error: Unexpected token 'if'.
-//   List<List<int>> list42 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:155:29: Error: Unexpected token 'for'.
-//   List<List<int>> list42 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:156:77: Error: Unexpected token '...'.
-//   Set<List<int>> set42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:156:63: Error: Unexpected token 'if'.
-//   Set<List<int>> set42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                               ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:156:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:157:85: Error: Unexpected token '...'.
-//   Map<String, List<int>> map42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:157:71: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:157:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map42 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:158:59: Error: Unexpected token '...'.
-//   List<int> list50 = [for (int i = 0; oracle("foo"); i++) ...[]];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:158:23: Error: Unexpected token 'for'.
-//   List<int> list50 = [for (int i = 0; oracle("foo"); i++) ...[]];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:159:57: Error: Unexpected token '...'.
-//   Set<int> set50 = {for (int i = 0; oracle("foo"); i++) ...[], null};
-//                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:159:21: Error: Unexpected token 'for'.
-//   Set<int> set50 = {for (int i = 0; oracle("foo"); i++) ...[], null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:160:65: Error: Unexpected token '...'.
-//   Map<String, int> map50 = {for (int i = 0; oracle("foo"); i++) ...{}, "baz": null};
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:160:29: Error: Unexpected token 'for'.
-//   Map<String, int> map50 = {for (int i = 0; oracle("foo"); i++) ...{}, "baz": null};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:161:59: Error: Unexpected token '...'.
-//   List<int> list51 = [for (int i = 0; oracle("foo"); i++) ...{}];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:161:23: Error: Unexpected token 'for'.
-//   List<int> list51 = [for (int i = 0; oracle("foo"); i++) ...{}];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:162:57: Error: Unexpected token '...'.
-//   Set<int> set51 = {for (int i = 0; oracle("foo"); i++) ...{}, null};
-//                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:162:21: Error: Unexpected token 'for'.
-//   Set<int> set51 = {for (int i = 0; oracle("foo"); i++) ...{}, null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:163:73: Error: Unexpected token '...'.
-//   List<int> list52 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[]];
-//                                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:163:59: Error: Unexpected token 'if'.
-//   List<int> list52 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[]];
-//                                                           ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:163:23: Error: Unexpected token 'for'.
-//   List<int> list52 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[]];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:164:71: Error: Unexpected token '...'.
-//   Set<int> set52 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[], null};
-//                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:164:57: Error: Unexpected token 'if'.
-//   Set<int> set52 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[], null};
-//                                                         ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:164:21: Error: Unexpected token 'for'.
-//   Set<int> set52 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[], null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:165:65: Error: Unexpected token '...'.
-//   List<List<int>> list60 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:165:29: Error: Unexpected token 'for'.
-//   List<List<int>> list60 = [for (int i = 0; oracle("foo"); i++) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:166:63: Error: Unexpected token '...'.
-//   Set<List<int>> set60 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:166:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set60 = {for (int i = 0; oracle("foo"); i++) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:167:71: Error: Unexpected token '...'.
-//   Map<String, List<int>> map60 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:167:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map60 = {for (int i = 0; oracle("foo"); i++) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:168:79: Error: Unexpected token '...'.
-//   List<List<int>> list61 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:168:65: Error: Unexpected token 'if'.
-//   List<List<int>> list61 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                                                                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:168:29: Error: Unexpected token 'for'.
-//   List<List<int>> list61 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]]];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:169:77: Error: Unexpected token '...'.
-//   Set<List<int>> set61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:169:63: Error: Unexpected token 'if'.
-//   Set<List<int>> set61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                                                               ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:169:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...[[]], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:170:85: Error: Unexpected token '...'.
-//   Map<String, List<int>> map61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:170:71: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                                                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:170:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map61 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...{"bar": []}, "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:171:29: Error: Unexpected token 'for'.
-//   List<List<int>> list70 = [for (int i = 0; oracle("foo"); i++) []];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:172:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set70 = {for (int i = 0; oracle("foo"); i++) [], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:173:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map70 = {for (int i = 0; oracle("foo"); i++) "bar": [], "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:174:65: Error: Unexpected token 'if'.
-//   List<List<int>> list71 = [for (int i = 0; oracle("foo"); i++) if (oracle()) []];
-//                                                                 ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:174:29: Error: Unexpected token 'for'.
-//   List<List<int>> list71 = [for (int i = 0; oracle("foo"); i++) if (oracle()) []];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:175:63: Error: Unexpected token 'if'.
-//   Set<List<int>> set71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) [], null};
-//                                                               ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:175:27: Error: Unexpected token 'for'.
-//   Set<List<int>> set71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) [], null};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:176:71: Error: Unexpected token 'if'.
-//   Map<String, List<int>> map71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": [], "baz": null};
-//                                                                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:176:35: Error: Unexpected token 'for'.
-//   Map<String, List<int>> map71 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": [], "baz": null};
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:177:53: Error: Unexpected token 'if'.
-//   var list80 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:177:17: Error: Unexpected token 'for'.
-//   var list80 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:178:52: Error: Unexpected token 'if'.
-//   var set80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:178:16: Error: Unexpected token 'for'.
-//   var set80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:179:52: Error: Unexpected token 'if'.
-//   var map80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:179:16: Error: Unexpected token 'for'.
-//   var map80 = {for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:67: Error: Unexpected token '...'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:83: Error: Unexpected token '...'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:53: Error: Unexpected token 'if'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:180:17: Error: Unexpected token 'for'.
-//   var list81 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:66: Error: Unexpected token '...'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:82: Error: Unexpected token '...'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:52: Error: Unexpected token 'if'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:181:16: Error: Unexpected token 'for'.
-//   var set81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...listDouble, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:66: Error: Unexpected token '...'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:87: Error: Unexpected token '...'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:52: Error: Unexpected token 'if'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:182:16: Error: Unexpected token 'for'.
-//   var map81 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...mapStringDouble, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:67: Error: Unexpected token '...'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:83: Error: Unexpected token '...'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:53: Error: Unexpected token 'if'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:183:17: Error: Unexpected token 'for'.
-//   var list82 = [for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:66: Error: Unexpected token '...'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:82: Error: Unexpected token '...'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:52: Error: Unexpected token 'if'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:184:16: Error: Unexpected token 'for'.
-//   var set82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else ...dynVar, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:66: Error: Unexpected token '...'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:87: Error: Unexpected token '...'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                                                                                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:52: Error: Unexpected token 'if'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:185:16: Error: Unexpected token 'for'.
-//   var map82 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else ...dynVar, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:186:75: Error: Unexpected token '...'.
-//   var list83 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...listDouble];
-//                                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:186:53: Error: Unexpected token 'if'.
-//   var list83 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...listDouble];
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:186:17: Error: Unexpected token 'for'.
-//   var list83 = [for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...listDouble];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:187:66: Error: Unexpected token '...'.
-//   var set83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else 3.14, null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:187:52: Error: Unexpected token 'if'.
-//   var set83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else 3.14, null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:187:16: Error: Unexpected token 'for'.
-//   var set83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...listInt else 3.14, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:188:66: Error: Unexpected token '...'.
-//   var map83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else "bar": 3.14, "baz": null};
-//                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:188:52: Error: Unexpected token 'if'.
-//   var map83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else "bar": 3.14, "baz": null};
-//                                                    ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:188:16: Error: Unexpected token 'for'.
-//   var map83 = {for (int i = 0; oracle("foo"); i++) if (oracle()) ...mapStringInt else "bar": 3.14, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:189:23: Error: Unexpected token 'for'.
-//   List<int> list90 = [for (int i = 0; oracle("foo"); i++) dynVar];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:190:21: Error: Unexpected token 'for'.
-//   Set<int> set90 = {for (int i = 0; oracle("foo"); i++) dynVar, null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:191:29: Error: Unexpected token 'for'.
-//   Map<String, int> map90 = {for (int i = 0; oracle("foo"); i++) "bar": dynVar, "baz": null};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:192:59: Error: Unexpected token '...'.
-//   List<int> list91 = [for (int i = 0; oracle("foo"); i++) ...dynVar];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:192:23: Error: Unexpected token 'for'.
-//   List<int> list91 = [for (int i = 0; oracle("foo"); i++) ...dynVar];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:193:57: Error: Unexpected token '...'.
-//   Set<int> set91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, null};
-//                                                         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:193:21: Error: Unexpected token 'for'.
-//   Set<int> set91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, null};
-//                     ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:194:65: Error: Unexpected token '...'.
-//   Map<String, int> map91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, "baz": null};
-//                                                                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:194:29: Error: Unexpected token 'for'.
-//   Map<String, int> map91 = {for (int i = 0; oracle("foo"); i++) ...dynVar, "baz": null};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:195:29: Error: Unexpected token 'for'.
-//   List<int> list100 = <int>[for (index = 0; oracle("foo"); index++) 42];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:196:27: Error: Unexpected token 'for'.
-//   Set<int> set100 = <int>{for (index = 0; oracle("foo"); index++) 42};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:197:43: Error: Unexpected token 'for'.
-//   Map<String, int> map100 = <String, int>{for (index = 0; oracle("foo"); index++) "bar": 42};
-//                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:198:18: Error: Unexpected token 'for'.
-//   var list110 = [for (var i in [1, 2, 3]) i];
-//                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:199:17: Error: Unexpected token 'for'.
-//   var set110 = {for (var i in [1, 2, 3]) i, null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:200:17: Error: Unexpected token 'for'.
-//   var map110 = {for (var i in [1, 2, 3]) "bar": i, "baz": null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:201:24: Error: Unexpected token 'for'.
-//   List<int> list120 = [for (var i in dynVar) i];
-//                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:202:22: Error: Unexpected token 'for'.
-//   Set<int> set120 = {for (var i in dynVar) i, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:203:30: Error: Unexpected token 'for'.
-//   Map<String, int> map120 = {for (var i in dynVar) "bar": i, "baz": null};
-//                              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:204:24: Error: Unexpected token 'for'.
-//   List<int> list130 = [for (var i = 1; i < 2; i++) i];
-//                        ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:205:22: Error: Unexpected token 'for'.
-//   Set<int> set130 = {for (var i = 1; i < 2; i++) i};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:206:27: Error: Unexpected token 'for'.
-//   Map<int, int> map130 = {for (var i = 1; i < 2; i++) i: i};
-//                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) "bar"];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) "bar", null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:14: Error: Unexpected token 'for'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...["bar"]];
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...["bar"]];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:45: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...["bar"], null};
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...["bar"], null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:50: Error: Unexpected token '...'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:14: Error: Unexpected token 'for'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:45: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...map];
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...map];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:45: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...map, null};
-//                                             ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...map, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:50: Error: Unexpected token '...'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...list, 42: null};
-//                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:14: Error: Unexpected token 'for'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...list, 42: null};
-//              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected token 'if'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:12: Error: Unexpected token 'for'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:48: Error: Unexpected token 'if'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:12: Error: Unexpected token 'for'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//            ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:56: Error: Unexpected token 'if'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                        ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:20: Error: Unexpected token 'for'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                    ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:59: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:45: Error: Unexpected token 'if'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:59: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//                                                           ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:45: Error: Unexpected token 'if'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:67: Error: Unexpected token '...'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:53: Error: Unexpected token 'if'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:17: Error: Unexpected token 'for'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:67: Error: Unexpected token '...'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:45: Error: Unexpected token 'if'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:9: Error: Unexpected token 'for'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:67: Error: Unexpected token '...'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//                                                                   ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:45: Error: Unexpected token 'if'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//                                             ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:9: Error: Unexpected token 'for'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:82: Error: Unexpected token '...'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                                                                                  ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:53: Error: Unexpected token 'if'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                                                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:17: Error: Unexpected token 'for'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:230:9: Error: Unexpected token 'for'.
-//   <int>[for (i in <int>[1]) i];
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:231:9: Error: Unexpected token 'for'.
-//   <int>{for (i in <int>[1]) i, null};
-//         ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:16: Error: Unexpected token 'for'.
-// 	<String, int>{for (i in <int>[1]) "bar": i, "baz": null};
-// 	              ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:234:17: Error: Unexpected token 'for'.
-//   var list10 = [for (var i in "not iterable") i];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:235:16: Error: Unexpected token 'for'.
-//   var set10 = {for (var i in "not iterable") i, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:236:16: Error: Unexpected token 'for'.
-//   var map10 = {for (var i in "not iterable") "bar": i, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:17: Error: Unexpected token 'for'.
-//   var list20 = [for (int i in ["not", "int"]) i];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:16: Error: Unexpected token 'for'.
-//   var set20 = {for (int i in ["not", "int"]) i, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:16: Error: Unexpected token 'for'.
-//   var map20 = {for (int i in ["not", "int"]) "bar": i, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:23: Error: Unexpected token 'for'.
-//   var list30 = [await for (var i in "not stream") i];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:22: Error: Unexpected token 'for'.
-//   var set30 = {await for (var i in "not stream") i, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:242:22: Error: Unexpected token 'for'.
-//   var map30 = {await for (var i in "not stream") "bar": i, "baz": null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:23: Error: Unexpected token 'for'.
-//   var list40 = [await for (int i in Stream.fromIterable(["not", "int"])) i];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:22: Error: Unexpected token 'for'.
-//   var set40 = {await for (int i in Stream.fromIterable(["not", "int"])) i, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:22: Error: Unexpected token 'for'.
-//   var map40 = {await for (int i in Stream.fromIterable(["not", "int"])) "bar": i, "baz": null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:17: Error: The keyword 'await' isn't allowed for a normal 'for' statement.
-// Try removing the keyword, or use a for-each statement.
-//   var list50 = [await for (;;) 42];
-//                 ^^^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:23: Error: Unexpected token 'for'.
-//   var list50 = [await for (;;) 42];
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:16: Error: The keyword 'await' isn't allowed for a normal 'for' statement.
-// Try removing the keyword, or use a for-each statement.
-//   var set50 = {await for (;;) 42, null};
-//                ^^^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:22: Error: Unexpected token 'for'.
-//   var set50 = {await for (;;) 42, null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:248:16: Error: The keyword 'await' isn't allowed for a normal 'for' statement.
-// Try removing the keyword, or use a for-each statement.
-//   var map50 = {await for (;;) "bar": 42, "baz": null};
-//                ^^^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:248:22: Error: Unexpected token 'for'.
-//   var map50 = {await for (;;) "bar": 42, "baz": null};
-//                      ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:249:17: Error: Unexpected token 'for'.
-//   var list60 = [for (; "not bool";) 42];
-//                 ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:250:16: Error: Unexpected token 'for'.
-//   var set60 = {for (; "not bool";) 42, null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:16: Error: Unexpected token 'for'.
-//   var map60 = {for (; "not bool";) "bar": 42, "baz": null};
-//                ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:255:26: Error: The asynchronous for-in can only be used in functions marked with 'async' or 'async*'.
-// Try marking the function body with either 'async' or 'async*', or removing the 'await' before the for loop.
-//   <int>[await for (int i in stream) i];
-//                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:255:15: Error: Unexpected token 'for'.
-//   <int>[await for (int i in stream) i];
-//               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:256:26: Error: The asynchronous for-in can only be used in functions marked with 'async' or 'async*'.
-// Try marking the function body with either 'async' or 'async*', or removing the 'await' before the for loop.
-//   <int>{await for (int i in stream) i};
-//                          ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:256:15: Error: Unexpected token 'for'.
-//   <int>{await for (int i in stream) i};
-//               ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:257:34: Error: The asynchronous for-in can only be used in functions marked with 'async' or 'async*'.
-// Try marking the function body with either 'async' or 'async*', or removing the 'await' before the for loop.
-//   <String, int>{await for (int i in stream) "bar": i};
-//                                  ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:257:23: Error: Unexpected token 'for'.
-//   <String, int>{await for (int i in stream) "bar": i};
-//                       ^^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:267:23: Error: Unexpected token 'if'.
-//   List<int> list10 = [if (a is B) a.foo];
-//                       ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:268:21: Error: Unexpected token 'if'.
-//   Set<int> set10 = {if (a is B) a.foo};
-//                     ^^
-//
-// pkg/front_end/testcases/general/control_flow_collection_inference.dart:269:26: Error: Unexpected token 'if'.
-//   Map<int, int> map10 = {if (a is B) a.foo: a.foo};
-//                          ^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get foo() → core::int*
-    return 42;
-}
-static method oracle<T extends core::Object* = dynamic>([self::oracle::T* t = #C1]) → dynamic
-  return true;
-static method testIfElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::Map<core::String*, core::int*>* mapToInt, core::Map<core::String*, core::double*>* mapToDouble) → dynamic {
-  dynamic list10 = <dynamic>[];
-  dynamic set10 = <dynamic>{null};
-  dynamic map10 = <dynamic, dynamic>{"baz": null};
-  dynamic list11 = <dynamic>[];
-  dynamic set11 = <dynamic>{null};
-  dynamic map11 = <dynamic, dynamic>{"baz": null};
-  dynamic list12 = <dynamic>[];
-  dynamic set12 = <dynamic>{null};
-  dynamic map12 = <dynamic, dynamic>{"baz": null};
-  dynamic list20 = <dynamic>[];
-  dynamic set20 = <dynamic>{null};
-  dynamic map20 = <dynamic, dynamic>{"baz": null};
-  dynamic list21 = <dynamic>[];
-  dynamic set21 = <dynamic>{null};
-  dynamic map21 = <dynamic, dynamic>{"baz": null};
-  dynamic list22 = <dynamic>[];
-  dynamic set22 = <dynamic>{null};
-  dynamic map22 = <dynamic, dynamic>{"baz": null};
-  dynamic list30 = <dynamic>[];
-  dynamic set30 = <dynamic>{null};
-  dynamic map30 = <dynamic, dynamic>{"baz": null};
-  dynamic list31 = <dynamic>[];
-  dynamic set31 = <dynamic>{null};
-  dynamic map31 = <dynamic, dynamic>{"baz": null};
-  dynamic list33 = <dynamic>[];
-  dynamic set33 = <dynamic>{null};
-  dynamic map33 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list40 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set40 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map40 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list41 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set41 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list42 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set42 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map42 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list50 = <dynamic>[];
-  core::Set<core::int*>* set50 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map50 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list51 = <dynamic>[];
-  core::Set<core::int*>* set51 = <dynamic>{null};
-  core::List<core::int*>* list52 = <dynamic>[];
-  core::Set<core::int*>* set52 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map52 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list60 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set60 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map60 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list61 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set61 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map61 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list70 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set70 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list71 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set71 = <dynamic>{null};
-  dynamic list80 = <dynamic>[];
-  dynamic set80 = <dynamic>{null};
-  dynamic map80 = <dynamic, dynamic>{"baz": null};
-  dynamic list81 = <dynamic>[];
-  dynamic set81 = <dynamic>{null};
-  dynamic map81 = <dynamic, dynamic>{"baz": null};
-  dynamic list82 = <dynamic>[];
-  dynamic set82 = <dynamic>{null};
-  dynamic map82 = <dynamic>{null};
-  dynamic list83 = <dynamic>[];
-  dynamic set83 = <dynamic>{null};
-  dynamic map83 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list90 = <dynamic>[];
-  core::Set<core::int*>* set90 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map90 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list91 = <dynamic>[];
-  core::Set<core::int*>* set91 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map91 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list100 = <dynamic>[];
-  core::Set<core::int*>* set100 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map100 = <dynamic, dynamic>{};
-}
-static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::String*>[];
-  <core::String*>{null};
-  <core::String*, core::String*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  <core::int*>[];
-  <core::int*>{null};
-  <core::String*, core::int*>{"baz": null};
-  core::Set<dynamic>* set10 = <dynamic, dynamic>{};
-  core::Map<dynamic, dynamic>* map10 = <dynamic, dynamic>{};
-  core::Set<dynamic>* set11 = <dynamic, dynamic>{};
-  core::Map<dynamic, dynamic>* map11 = <dynamic, dynamic>{};
-  dynamic map12 = <dynamic, dynamic>{};
-  dynamic map13 = <dynamic, dynamic>{};
-  core::List<core::int*>* list20 = <dynamic>[];
-  core::Set<core::int*>* set20 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map30 = <dynamic, dynamic>{};
-  core::List<core::String*>* list40 = <core::String*>[];
-  core::Set<core::String*>* set40 = <core::String*>{};
-  core::Map<core::String*, core::int*>* map40 = <core::String*, core::int*>{};
-  core::Map<core::int*, core::String*>* map41 = <core::int*, core::String*>{};
-}
-static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
-  dynamic list10 = <dynamic>[];
-  dynamic set10 = <dynamic>{null};
-  dynamic map10 = <dynamic, dynamic>{"baz": null};
-  dynamic list11 = <dynamic>[];
-  dynamic set11 = <dynamic>{null};
-  dynamic map11 = <dynamic, dynamic>{"baz": null};
-  dynamic list12 = <dynamic>[];
-  dynamic set12 = <dynamic>{null};
-  dynamic map12 = <dynamic, dynamic>{"baz": null};
-  dynamic list20 = <dynamic>[];
-  dynamic set20 = <dynamic>{null};
-  dynamic map20 = <dynamic, dynamic>{"baz": null};
-  dynamic list21 = <dynamic>[];
-  dynamic set21 = <dynamic>{null};
-  dynamic map21 = <dynamic, dynamic>{"baz": null};
-  dynamic list22 = <dynamic>[];
-  dynamic set22 = <dynamic>{null};
-  dynamic map22 = <dynamic, dynamic>{"baz": null};
-  dynamic list30 = <dynamic>[];
-  dynamic set30 = <dynamic>{null};
-  dynamic map30 = <dynamic, dynamic>{"baz": null};
-  dynamic list31 = <dynamic>[];
-  dynamic set31 = <dynamic>{null};
-  dynamic map31 = <dynamic, dynamic>{"baz": null};
-  dynamic list33 = <dynamic>[];
-  dynamic set33 = <dynamic>{null};
-  dynamic map33 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list40 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set40 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map40 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list41 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set41 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list42 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set42 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map42 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list50 = <dynamic>[];
-  core::Set<core::int*>* set50 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map50 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list51 = <dynamic>[];
-  core::Set<core::int*>* set51 = <dynamic>{null};
-  core::List<core::int*>* list52 = <dynamic>[];
-  core::Set<core::int*>* set52 = <dynamic>{null};
-  core::List<core::List<core::int*>*>* list60 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set60 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map60 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list61 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set61 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map61 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list70 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set70 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map70 = <dynamic, dynamic>{"baz": null};
-  core::List<core::List<core::int*>*>* list71 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set71 = <dynamic>{null};
-  core::Map<core::String*, core::List<core::int*>*>* map71 = <dynamic, dynamic>{"baz": null};
-  dynamic list80 = <dynamic>[];
-  dynamic set80 = <dynamic>{null};
-  dynamic map80 = <dynamic, dynamic>{"baz": null};
-  dynamic list81 = <dynamic>[];
-  dynamic set81 = <dynamic>{null};
-  dynamic map81 = <dynamic, dynamic>{"baz": null};
-  dynamic list82 = <dynamic>[];
-  dynamic set82 = <dynamic>{null};
-  dynamic map82 = <dynamic, dynamic>{"baz": null};
-  dynamic list83 = <dynamic>[];
-  dynamic set83 = <dynamic>{null};
-  dynamic map83 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list90 = <dynamic>[];
-  core::Set<core::int*>* set90 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map90 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list91 = <dynamic>[];
-  core::Set<core::int*>* set91 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map91 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list100 = <core::int*>[];
-  core::Set<core::int*>* set100 = <core::int*>{};
-  core::Map<core::String*, core::int*>* map100 = <core::String*, core::int*>{};
-  dynamic list110 = <dynamic>[];
-  dynamic set110 = <dynamic>{null};
-  dynamic map110 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list120 = <dynamic>[];
-  core::Set<core::int*>* set120 = <dynamic>{null};
-  core::Map<core::String*, core::int*>* map120 = <dynamic, dynamic>{"baz": null};
-  core::List<core::int*>* list130 = <dynamic>[];
-  core::Set<core::int*>* set130 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map130 = <dynamic, dynamic>{};
-}
-static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        <core::int*>[];
-        <core::int*>{null};
-        <core::int*, core::int*>{"baz": null};
-        <core::int*>[];
-        <core::int*>{null};
-        <core::int*, core::int*>{"baz": null};
-        <core::int*>[];
-        <core::int*>{null};
-        <core::int*, core::int*>{42: null};
-        <core::String*>[];
-        <core::String*>{null};
-        <core::String*, core::String*>{"baz": null};
-        <core::int*>[];
-        <core::int*>{null};
-        <core::String*, core::int*>{"baz": null};
-        <core::int*>[];
-        <core::int*>{null};
-        <core::String*, core::int*>{"baz": null};
-        final dynamic i = 0;
-        <core::int*>[];
-        <core::int*>{null};
-        <core::String*, core::int*>{"baz": null};
-        dynamic list10 = <dynamic>[];
-        dynamic set10 = <dynamic>{null};
-        dynamic map10 = <dynamic, dynamic>{"baz": null};
-        dynamic list20 = <dynamic>[];
-        dynamic set20 = <dynamic>{null};
-        dynamic map20 = <dynamic, dynamic>{"baz": null};
-        dynamic list30 = <dynamic>[];
-        dynamic set30 = <dynamic>{null};
-        dynamic map30 = <dynamic, dynamic>{"baz": null};
-        dynamic list40 = <dynamic>[];
-        dynamic set40 = <dynamic>{null};
-        dynamic map40 = <dynamic, dynamic>{"baz": null};
-        dynamic list50 = <dynamic>[];
-        dynamic set50 = <dynamic>{null};
-        dynamic map50 = <dynamic, dynamic>{"baz": null};
-        dynamic list60 = <dynamic>[];
-        dynamic set60 = <dynamic>{null};
-        dynamic map60 = <dynamic, dynamic>{"baz": null};
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
-  <core::int*>[];
-  <core::int*>{};
-  <core::String*, core::int*>{};
-}
-static method testPromotion(self::A* a) → dynamic {
-  core::List<core::int*>* list10 = <dynamic>[];
-  core::Set<core::int*>* set10 = <dynamic, dynamic>{};
-  core::Map<core::int*, core::int*>* map10 = <dynamic, dynamic>{};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.legacy.expect b/pkg/front_end/testcases/general/covariant_generic.dart.legacy.expect
deleted file mode 100644
index b72a615..0000000
--- a/pkg/front_end/testcases/general/covariant_generic.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Callback<T extends core::Object = dynamic> = (T) → void;
-class Foo<T extends core::Object = dynamic> extends core::Object {
-  final field self::Foo::T finalField;
-  final field (self::Foo::T) → void callbackField;
-  generic-covariant-impl field self::Foo::T mutableField = null;
-  field (self::Foo::T) → void mutableCallbackField = null;
-  constructor •(self::Foo::T finalField, (self::Foo::T) → void callbackField) → self::Foo<self::Foo::T>
-    : self::Foo::finalField = finalField, self::Foo::callbackField = callbackField, super core::Object::•()
-    ;
-  method method(generic-covariant-impl self::Foo::T x) → void {}
-  set setter(generic-covariant-impl self::Foo::T x) → void {}
-  method withCallback((self::Foo::T) → void callback) → void {
-    callback.call(this.{self::Foo::finalField});
-  }
-}
-static method main() → dynamic {
-  self::Foo<core::int> fooInt = new self::Foo::•<core::int>(1, (core::int x) → dynamic {});
-  fooInt.method(3);
-  fooInt.setter = 3;
-  fooInt.withCallback((core::int x) → dynamic {});
-  fooInt.withCallback((core::num x) → dynamic {});
-  fooInt.mutableField = 3;
-  fooInt.mutableCallbackField = (core::int x) → dynamic {};
-  self::Foo<core::num> fooNum = fooInt;
-  fooNum.method(3);
-  fooNum.method(2.5);
-  fooNum.setter = 3;
-  fooNum.setter = 2.5;
-  fooNum.withCallback((core::num x) → dynamic {});
-  fooNum.mutableField = 3;
-  fooNum.mutableField = 2.5;
-  fooNum.mutableCallbackField(3);
-  fooNum.mutableCallbackField(2.5);
-  fooNum.mutableCallbackField = (core::num x) → dynamic {};
-}
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/covariant_generic.dart.legacy.transformed.expect
deleted file mode 100644
index b72a615..0000000
--- a/pkg/front_end/testcases/general/covariant_generic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Callback<T extends core::Object = dynamic> = (T) → void;
-class Foo<T extends core::Object = dynamic> extends core::Object {
-  final field self::Foo::T finalField;
-  final field (self::Foo::T) → void callbackField;
-  generic-covariant-impl field self::Foo::T mutableField = null;
-  field (self::Foo::T) → void mutableCallbackField = null;
-  constructor •(self::Foo::T finalField, (self::Foo::T) → void callbackField) → self::Foo<self::Foo::T>
-    : self::Foo::finalField = finalField, self::Foo::callbackField = callbackField, super core::Object::•()
-    ;
-  method method(generic-covariant-impl self::Foo::T x) → void {}
-  set setter(generic-covariant-impl self::Foo::T x) → void {}
-  method withCallback((self::Foo::T) → void callback) → void {
-    callback.call(this.{self::Foo::finalField});
-  }
-}
-static method main() → dynamic {
-  self::Foo<core::int> fooInt = new self::Foo::•<core::int>(1, (core::int x) → dynamic {});
-  fooInt.method(3);
-  fooInt.setter = 3;
-  fooInt.withCallback((core::int x) → dynamic {});
-  fooInt.withCallback((core::num x) → dynamic {});
-  fooInt.mutableField = 3;
-  fooInt.mutableCallbackField = (core::int x) → dynamic {};
-  self::Foo<core::num> fooNum = fooInt;
-  fooNum.method(3);
-  fooNum.method(2.5);
-  fooNum.setter = 3;
-  fooNum.setter = 2.5;
-  fooNum.withCallback((core::num x) → dynamic {});
-  fooNum.mutableField = 3;
-  fooNum.mutableField = 2.5;
-  fooNum.mutableCallbackField(3);
-  fooNum.mutableCallbackField(2.5);
-  fooNum.mutableCallbackField = (core::num x) → dynamic {};
-}
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.legacy.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.legacy.expect
deleted file mode 100644
index 08d745d..0000000
--- a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo(covariant core::num* x) → void {}
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-}
-abstract class _D&A&B = self::A with self::B {
-  synthetic constructor •() → self::_D&A&B*
-    : super self::A::•()
-    ;
-  forwarding-stub method foo(covariant core::num* x) → void
-    return super.{self::A::foo}(x);
-}
-class D extends self::_D&A&B implements self::C {
-  synthetic constructor •() → self::D*
-    : super self::_D&A&B::•()
-    ;
-  method foo(covariant core::int* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.legacy.transformed.expect
deleted file mode 100644
index 24f8755..0000000
--- a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo(covariant core::num* x) → void {}
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-}
-abstract class _D&A&B extends self::A implements self::B {
-  synthetic constructor •() → self::_D&A&B*
-    : super self::A::•()
-    ;
-  method foo(covariant core::num* x) → void {}
-}
-class D extends self::_D&A&B implements self::C {
-  synthetic constructor •() → self::D*
-    : super self::_D&A&B::•()
-    ;
-  method foo(covariant core::int* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/cycles.dart.legacy.expect b/pkg/front_end/testcases/general/cycles.dart.legacy.expect
deleted file mode 100644
index 5552472..0000000
--- a/pkg/front_end/testcases/general/cycles.dart.legacy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/cycles.dart:5:7: Error: 'A' is a supertype of itself.
-// class A implements C {}
-//       ^
-//
-// pkg/front_end/testcases/general/cycles.dart:7:7: Error: 'B' is a supertype of itself.
-// class B extends A {}
-//       ^
-//
-// pkg/front_end/testcases/general/cycles.dart:9:7: Error: 'C' is a supertype of itself.
-// class C extends B implements D {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::A::•());
-  core::print(new self::B::•());
-  core::print(new self::C::•());
-  core::print(new self::D::•());
-}
diff --git a/pkg/front_end/testcases/general/cycles.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/cycles.dart.legacy.transformed.expect
deleted file mode 100644
index 5552472..0000000
--- a/pkg/front_end/testcases/general/cycles.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/cycles.dart:5:7: Error: 'A' is a supertype of itself.
-// class A implements C {}
-//       ^
-//
-// pkg/front_end/testcases/general/cycles.dart:7:7: Error: 'B' is a supertype of itself.
-// class B extends A {}
-//       ^
-//
-// pkg/front_end/testcases/general/cycles.dart:9:7: Error: 'C' is a supertype of itself.
-// class C extends B implements D {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::A::•());
-  core::print(new self::B::•());
-  core::print(new self::C::•());
-  core::print(new self::D::•());
-}
diff --git a/pkg/front_end/testcases/general/default_values.dart.legacy.expect b/pkg/front_end/testcases/general/default_values.dart.legacy.expect
deleted file mode 100644
index 7b8886e..0000000
--- a/pkg/front_end/testcases/general/default_values.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method topLevel([dynamic a = #C1]) → dynamic
-  return a;
-static method main() → dynamic {
-  core::print(self::topLevel());
-}
-
-constants  {
-  #C1 = 42
-}
diff --git a/pkg/front_end/testcases/general/default_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/default_values.dart.legacy.transformed.expect
deleted file mode 100644
index 7b8886e..0000000
--- a/pkg/front_end/testcases/general/default_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method topLevel([dynamic a = #C1]) → dynamic
-  return a;
-static method main() → dynamic {
-  core::print(self::topLevel());
-}
-
-constants  {
-  #C1 = 42
-}
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.legacy.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.legacy.expect
deleted file mode 100644
index cef2edf..0000000
--- a/pkg/front_end/testcases/general/deferred_type_annotation.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/deferred_type_annotation.dart:7:5: Warning: The type 'C' is deferred loaded via prefix 'd' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'd' or use a supertype of 'C' that isn't deferred.
-// bad(d.C x) {}
-//     ^^^
-//
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as d;
-
-static method bad(def::C* x) → dynamic {}
-static method main() → dynamic {}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.legacy.transformed.expect
deleted file mode 100644
index cef2edf..0000000
--- a/pkg/front_end/testcases/general/deferred_type_annotation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/deferred_type_annotation.dart:7:5: Warning: The type 'C' is deferred loaded via prefix 'd' and can't be used as a type annotation.
-//  - 'C' is from 'pkg/front_end/testcases/general/deferred_lib.dart'.
-// Try removing 'deferred' from the import of 'd' or use a supertype of 'C' that isn't deferred.
-// bad(d.C x) {}
-//     ^^^
-//
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as d;
-
-static method bad(def::C* x) → dynamic {}
-static method main() → dynamic {}
-
-library;
-import self as def;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y = 1;
-  synthetic constructor •() → def::C*
-    : super core::Object::•()
-    ;
-  static method m() → core::int*
-    return 2;
-}
-static field dynamic x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.legacy.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.legacy.expect
deleted file mode 100644
index 9f4a61e..0000000
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.legacy.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:10:7: Error: 'Dupe' is already declared in this scope.
-// class Dupe {}
-//       ^^^^
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:8:7: Context: Previous declaration of 'Dupe'.
-// class Dupe {}
-//       ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:13:3: Warning: Type 'Dupe.a' not found.
-//   Dupe.a b;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:6:45: Warning: 'C' is imported from both 'pkg/front_end/testcases/general/duplicated_bad_prefix_lib1.dart' and 'pkg/front_end/testcases/general/duplicated_bad_prefix_lib2.dart'.
-// import 'duplicated_bad_prefix_lib2.dart' as dupe;
-//                                             ^
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:13:3: Warning: 'Dupe.a' isn't a type.
-//   Dupe.a b;
-//   ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///duplicated_bad_prefix_lib1.dart" as dupe;
-import "org-dartlang-testcase:///duplicated_bad_prefix_lib2.dart" as dupe;
-
-class Dupe#1 extends core::Object {
-  synthetic constructor •() → self::Dupe#1*
-    : super core::Object::•()
-    ;
-}
-class Dupe extends core::Object {
-  synthetic constructor •() → self::Dupe*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field invalid-type b = null;
-  field invalid-type d = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self3::C*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.legacy.transformed.expect
deleted file mode 100644
index 9f4a61e..0000000
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:10:7: Error: 'Dupe' is already declared in this scope.
-// class Dupe {}
-//       ^^^^
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:8:7: Context: Previous declaration of 'Dupe'.
-// class Dupe {}
-//       ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:13:3: Warning: Type 'Dupe.a' not found.
-//   Dupe.a b;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:6:45: Warning: 'C' is imported from both 'pkg/front_end/testcases/general/duplicated_bad_prefix_lib1.dart' and 'pkg/front_end/testcases/general/duplicated_bad_prefix_lib2.dart'.
-// import 'duplicated_bad_prefix_lib2.dart' as dupe;
-//                                             ^
-//
-// pkg/front_end/testcases/general/duplicated_bad_prefix.dart:13:3: Warning: 'Dupe.a' isn't a type.
-//   Dupe.a b;
-//   ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///duplicated_bad_prefix_lib1.dart" as dupe;
-import "org-dartlang-testcase:///duplicated_bad_prefix_lib2.dart" as dupe;
-
-class Dupe#1 extends core::Object {
-  synthetic constructor •() → self::Dupe#1*
-    : super core::Object::•()
-    ;
-}
-class Dupe extends core::Object {
-  synthetic constructor •() → self::Dupe*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field invalid-type b = null;
-  field invalid-type d = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self2::C*
-    : super core::Object::•()
-    ;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self3::C*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.legacy.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.legacy.expect
deleted file mode 100644
index 6caf29c..0000000
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.legacy.expect
+++ /dev/null
@@ -1,569 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:7:1: Error: Import directives must precede part directives.
-// Try moving the import directives before the part directives.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:9:1: Error: Import directives must precede part directives.
-// Try moving the import directives before the part directives.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:13:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:11:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:15:1: Error: Directives must appear before any declarations.
-// Try moving the directive before any declarations.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:19:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:17:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:23:5: Error: 'field' is already declared in this scope.
-// var field = "2nd";
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:21:5: Context: Previous declaration of 'field'.
-// var field = "1st";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:29:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:25:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:41:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:40:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:44:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:42:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:50:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:46:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:58:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:54:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:70:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:39:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:75:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:77:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:76:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:81:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:74:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:91:3: Error: '_name' is already declared in this scope.
-//   _name,
-//   ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of '_name' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:92:3: Error: 'index' is already declared in this scope.
-//   index,
-//   ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of 'index' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:93:3: Error: 'toString' is already declared in this scope.
-//   toString,
-//   ^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of 'toString' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:94:3: Error: 'values' is already declared in this scope.
-//   values,
-//   ^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of 'values' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:11:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:17:14: Error: 'OldTypedef' is already declared in this scope.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:19:16: Context: Previous declaration of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:21:5: Error: 'field' is already declared in this scope.
-// var field = "3rd";
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:23:5: Context: Previous declaration of 'field'.
-// var field = "2nd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:27:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:29:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:39:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:70:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:73:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:81:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:7:1: Error: The part-of directive must be the only directive in a part.
-// Try removing the other directives, or moving them to the library for which this is a part.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:9:1: Error: The part-of directive must be the only directive in a part.
-// Try removing the other directives, or moving them to the library for which this is a part.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:13:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:11:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:15:1: Error: The part-of directive must be the only directive in a part.
-// Try removing the other directives, or moving them to the library for which this is a part.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:19:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:17:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:23:5: Error: 'field' is already declared in this scope.
-// var field = 4;
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:21:5: Context: Previous declaration of 'field'.
-// var field = "3rd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:25:5: Error: 'field' is already declared in this scope.
-// var field = 5.0;
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:23:5: Context: Previous declaration of 'field'.
-// var field = 4;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:31:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:27:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:35:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:31:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:41:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:40:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:44:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:42:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:50:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:46:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:58:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:54:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:65:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:39:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:69:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:65:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:74:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:76:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:75:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:80:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:73:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:86:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:80:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:7:46: Error: 'Typedef' is already declared in this scope.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-//                                              ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:65:19: Warning: 'C' isn't a type.
-// class Sub extends C {
-//                   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:65:19: Context: This isn't a type.
-// class Sub extends C {
-//                   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:65:19: Error: 'C' isn't a type.
-// class Sub extends C {
-//                   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:34:3: Error: Can't use 'main' because it is declared more than once.
-//   main();
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:35:9: Error: Can't use 'field' because it is declared more than once.
-//   print(field);
-//         ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:36:3: Error: Can't use 'C' because it is declared more than once.
-//   C.s();
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:62:17: Error: Can't use 's' because it is declared more than once.
-//   static f() => s;
-//                 ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:66:16: Warning: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   Sub() : super(null);
-//                ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:67:16: Warning: Superclass has no method named 'm'.
-//   m() => super.m();
-//                ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:102:38: Error: Can't use '_name' because it is declared more than once.
-//     "AnotherEnum._name": AnotherEnum._name,
-//                                      ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:103:38: Error: Can't use 'index' because it is declared more than once.
-//     "AnotherEnum.index": AnotherEnum.index,
-//                                      ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:104:41: Error: Can't use 'toString' because it is declared more than once.
-//     "AnotherEnum.toString": AnotherEnum.toString,
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:105:39: Error: Can't use 'values' because it is declared more than once.
-//     "AnotherEnum.values": AnotherEnum.values,
-//                                       ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:62:17: Error: Can't use 's' because it is declared more than once.
-//   static f() => s;
-//                 ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-
-part duplicated_declarations_part.dart;
-typedef Typedef = () →* void;
-typedef OldTypedef = () →* void;
-class C#4 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  constructor _() → self::C#4*
-    : super core::Object::•()
-    ;
-}
-class C#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  constructor _() → self::C#3*
-    : super core::Object::•()
-    ;
-}
-class C#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  field dynamic field = null;
-  constructor •(dynamic a) → self::C#2*
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/general/duplicated_declarations_part.dart:62:17: Error: Can't use 's' because it is declared more than once.
-  static f() => s;
-                ^";
-}
-class C#1 extends core::Object {
-  constructor _() → self::C#1*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field dynamic field = null;
-  constructor •(dynamic a) → self::C*
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:62:17: Error: Can't use 's' because it is declared more than once.
-  static f() => s;
-                ^";
-}
-class Sub extends core::Object {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[null]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  method m() → dynamic
-    return super.m();
-}
-class Enum#4 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#4*>* values = #C8;
-  static const field self::Enum#4* a = #C7;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#4*
-    : self::Enum#4::index = index, self::Enum#4::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#4::_name};
-}
-class Enum#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#3*>* values = #C16;
-  static const field self::Enum#3* a = #C9;
-  static const field self::Enum#3* b = #C12;
-  static const field self::Enum#3* c = #C15;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#3*
-    : self::Enum#3::index = index, self::Enum#3::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#3::_name};
-}
-class Enum#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#2*>* values = #C21;
-  static const field self::Enum#2* Enum = #C18;
-  static const field self::Enum#2* a = #C19;
-  static const field self::Enum#2* b = #C20;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#2*
-    : self::Enum#2::index = index, self::Enum#2::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#2::_name};
-}
-class Enum#1 extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#1*>* values = #C25;
-  static const field self::Enum#1* a = #C22;
-  static const field self::Enum#1* b = #C23;
-  static const field self::Enum#1* c = #C24;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#1*
-    : self::Enum#1::index = index, self::Enum#1::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#1::_name};
-}
-class Enum extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum*>* values = #C29;
-  static const field self::Enum* Enum = #C26;
-  static const field self::Enum* a = #C27;
-  static const field self::Enum* b = #C28;
-  const constructor •(core::int* index, core::String* _name) → self::Enum*
-    : self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum::_name};
-}
-class AnotherEnum extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::AnotherEnum*>* values = #C36;
-  static const field self::AnotherEnum* a = #C31;
-  static const field self::AnotherEnum* b = #C33;
-  static const field self::AnotherEnum* c = #C35;
-  const constructor •(core::int* index, core::String* _name) → self::AnotherEnum*
-    : self::AnotherEnum::index = index, self::AnotherEnum::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::AnotherEnum::_name};
-}
-static field dynamic field;
-static method main() → dynamic {
-  "1st";
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:34:3: Error: Can't use 'main' because it is declared more than once.
-  main();
-  ^".call();
-  core::print(invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:35:9: Error: Can't use 'field' because it is declared more than once.
-  print(field);
-        ^");
-  invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:36:3: Error: Can't use 'C' because it is declared more than once.
-  C.s();
-  ^".s();
-}
-static method useAnotherEnum() → dynamic {
-  <core::String*, core::Object*>{"AnotherEnum.a": #C31, "AnotherEnum.b": #C33, "AnotherEnum.c": #C35, "AnotherEnum._name": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:102:38: Error: Can't use '_name' because it is declared more than once.
-    \"AnotherEnum._name\": AnotherEnum._name,
-                                     ^^^^^", "AnotherEnum.index": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:103:38: Error: Can't use 'index' because it is declared more than once.
-    \"AnotherEnum.index\": AnotherEnum.index,
-                                     ^^^^^", "AnotherEnum.toString": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:104:41: Error: Can't use 'toString' because it is declared more than once.
-    \"AnotherEnum.toString\": AnotherEnum.toString,
-                                        ^^^^^^^^", "AnotherEnum.values": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:105:39: Error: Can't use 'values' because it is declared more than once.
-    \"AnotherEnum.values\": AnotherEnum.values,
-                                      ^^^^^^"};
-}
-
-library;
-import self as self2;
-
-
-constants  {
-  #C1 = #Object
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = 0
-  #C6 = "Enum.a"
-  #C7 = self::Enum#4 {index:#C5, _name:#C6}
-  #C8 = <self::Enum#4*>[#C7]
-  #C9 = self::Enum#3 {index:#C5, _name:#C6}
-  #C10 = 1
-  #C11 = "Enum.b"
-  #C12 = self::Enum#3 {index:#C10, _name:#C11}
-  #C13 = 2
-  #C14 = "Enum.c"
-  #C15 = self::Enum#3 {index:#C13, _name:#C14}
-  #C16 = <self::Enum#3*>[#C9, #C12, #C15]
-  #C17 = "Enum.Enum"
-  #C18 = self::Enum#2 {index:#C5, _name:#C17}
-  #C19 = self::Enum#2 {index:#C10, _name:#C6}
-  #C20 = self::Enum#2 {index:#C13, _name:#C11}
-  #C21 = <self::Enum#2*>[#C18, #C19, #C20]
-  #C22 = self::Enum#1 {index:#C5, _name:#C6}
-  #C23 = self::Enum#1 {index:#C10, _name:#C11}
-  #C24 = self::Enum#1 {index:#C13, _name:#C14}
-  #C25 = <self::Enum#1*>[#C22, #C23, #C24]
-  #C26 = self::Enum {index:#C5, _name:#C17}
-  #C27 = self::Enum {index:#C10, _name:#C6}
-  #C28 = self::Enum {index:#C13, _name:#C11}
-  #C29 = <self::Enum*>[#C26, #C27, #C28]
-  #C30 = "AnotherEnum.a"
-  #C31 = self::AnotherEnum {index:#C5, _name:#C30}
-  #C32 = "AnotherEnum.b"
-  #C33 = self::AnotherEnum {index:#C10, _name:#C32}
-  #C34 = "AnotherEnum.c"
-  #C35 = self::AnotherEnum {index:#C13, _name:#C34}
-  #C36 = <self::AnotherEnum*>[#C31, #C33, #C35]
-}
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.legacy.transformed.expect
deleted file mode 100644
index 6caf29c..0000000
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,569 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:7:1: Error: Import directives must precede part directives.
-// Try moving the import directives before the part directives.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:9:1: Error: Import directives must precede part directives.
-// Try moving the import directives before the part directives.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:13:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:11:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:15:1: Error: Directives must appear before any declarations.
-// Try moving the directive before any declarations.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:19:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:17:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:23:5: Error: 'field' is already declared in this scope.
-// var field = "2nd";
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:21:5: Context: Previous declaration of 'field'.
-// var field = "1st";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:29:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:25:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:41:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:40:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:44:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:42:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:50:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:46:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:58:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:54:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:70:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:39:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:75:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:77:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:76:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:81:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:74:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:91:3: Error: '_name' is already declared in this scope.
-//   _name,
-//   ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of '_name' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:92:3: Error: 'index' is already declared in this scope.
-//   index,
-//   ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of 'index' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:93:3: Error: 'toString' is already declared in this scope.
-//   toString,
-//   ^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of 'toString' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:94:3: Error: 'values' is already declared in this scope.
-//   values,
-//   ^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:87:6: Context: Previous declaration of 'values' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:11:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:17:14: Error: 'OldTypedef' is already declared in this scope.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:19:16: Context: Previous declaration of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:21:5: Error: 'field' is already declared in this scope.
-// var field = "3rd";
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:23:5: Context: Previous declaration of 'field'.
-// var field = "2nd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:27:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:29:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:39:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:70:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:73:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:81:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:7:1: Error: The part-of directive must be the only directive in a part.
-// Try removing the other directives, or moving them to the library for which this is a part.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:9:1: Error: The part-of directive must be the only directive in a part.
-// Try removing the other directives, or moving them to the library for which this is a part.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:13:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:11:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:15:1: Error: The part-of directive must be the only directive in a part.
-// Try removing the other directives, or moving them to the library for which this is a part.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-// ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:19:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:17:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:23:5: Error: 'field' is already declared in this scope.
-// var field = 4;
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:21:5: Context: Previous declaration of 'field'.
-// var field = "3rd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:25:5: Error: 'field' is already declared in this scope.
-// var field = 5.0;
-//     ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:23:5: Context: Previous declaration of 'field'.
-// var field = 4;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:31:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:27:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:35:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:31:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:41:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:40:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:44:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:42:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:50:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:46:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:58:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:54:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:65:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:39:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:69:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:65:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:74:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:76:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:75:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:80:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:73:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:86:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:80:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:7:46: Error: 'Typedef' is already declared in this scope.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-//                                              ^^^^^^^
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:65:19: Warning: 'C' isn't a type.
-// class Sub extends C {
-//                   ^
-// pkg/front_end/testcases/general/duplicated_declarations.dart:65:19: Context: This isn't a type.
-// class Sub extends C {
-//                   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:65:19: Error: 'C' isn't a type.
-// class Sub extends C {
-//                   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:34:3: Error: Can't use 'main' because it is declared more than once.
-//   main();
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:35:9: Error: Can't use 'field' because it is declared more than once.
-//   print(field);
-//         ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:36:3: Error: Can't use 'C' because it is declared more than once.
-//   C.s();
-//   ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:62:17: Error: Can't use 's' because it is declared more than once.
-//   static f() => s;
-//                 ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:66:16: Warning: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   Sub() : super(null);
-//                ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:67:16: Warning: Superclass has no method named 'm'.
-//   m() => super.m();
-//                ^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:102:38: Error: Can't use '_name' because it is declared more than once.
-//     "AnotherEnum._name": AnotherEnum._name,
-//                                      ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:103:38: Error: Can't use 'index' because it is declared more than once.
-//     "AnotherEnum.index": AnotherEnum.index,
-//                                      ^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:104:41: Error: Can't use 'toString' because it is declared more than once.
-//     "AnotherEnum.toString": AnotherEnum.toString,
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations.dart:105:39: Error: Can't use 'values' because it is declared more than once.
-//     "AnotherEnum.values": AnotherEnum.values,
-//                                       ^^^^^^
-//
-// pkg/front_end/testcases/general/duplicated_declarations_part.dart:62:17: Error: Can't use 's' because it is declared more than once.
-//   static f() => s;
-//                 ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-import "org-dartlang-testcase:///duplicated_declarations_lib.dart" as Typedef;
-
-part duplicated_declarations_part.dart;
-typedef Typedef = () →* void;
-typedef OldTypedef = () →* void;
-class C#4 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  constructor _() → self::C#4*
-    : super core::Object::•()
-    ;
-}
-class C#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  constructor _() → self::C#3*
-    : super core::Object::•()
-    ;
-}
-class C#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  field dynamic field = null;
-  constructor •(dynamic a) → self::C#2*
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/general/duplicated_declarations_part.dart:62:17: Error: Can't use 's' because it is declared more than once.
-  static f() => s;
-                ^";
-}
-class C#1 extends core::Object {
-  constructor _() → self::C#1*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field dynamic field = null;
-  constructor •(dynamic a) → self::C*
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:62:17: Error: Can't use 's' because it is declared more than once.
-  static f() => s;
-                ^";
-}
-class Sub extends core::Object {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[null]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  method m() → dynamic
-    return super.m();
-}
-class Enum#4 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#4*>* values = #C8;
-  static const field self::Enum#4* a = #C7;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#4*
-    : self::Enum#4::index = index, self::Enum#4::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#4::_name};
-}
-class Enum#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#3*>* values = #C16;
-  static const field self::Enum#3* a = #C9;
-  static const field self::Enum#3* b = #C12;
-  static const field self::Enum#3* c = #C15;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#3*
-    : self::Enum#3::index = index, self::Enum#3::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#3::_name};
-}
-class Enum#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#2*>* values = #C21;
-  static const field self::Enum#2* Enum = #C18;
-  static const field self::Enum#2* a = #C19;
-  static const field self::Enum#2* b = #C20;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#2*
-    : self::Enum#2::index = index, self::Enum#2::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#2::_name};
-}
-class Enum#1 extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#1*>* values = #C25;
-  static const field self::Enum#1* a = #C22;
-  static const field self::Enum#1* b = #C23;
-  static const field self::Enum#1* c = #C24;
-  const constructor •(core::int* index, core::String* _name) → self::Enum#1*
-    : self::Enum#1::index = index, self::Enum#1::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum#1::_name};
-}
-class Enum extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum*>* values = #C29;
-  static const field self::Enum* Enum = #C26;
-  static const field self::Enum* a = #C27;
-  static const field self::Enum* b = #C28;
-  const constructor •(core::int* index, core::String* _name) → self::Enum*
-    : self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Enum::_name};
-}
-class AnotherEnum extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::AnotherEnum*>* values = #C36;
-  static const field self::AnotherEnum* a = #C31;
-  static const field self::AnotherEnum* b = #C33;
-  static const field self::AnotherEnum* c = #C35;
-  const constructor •(core::int* index, core::String* _name) → self::AnotherEnum*
-    : self::AnotherEnum::index = index, self::AnotherEnum::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::AnotherEnum::_name};
-}
-static field dynamic field;
-static method main() → dynamic {
-  "1st";
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:34:3: Error: Can't use 'main' because it is declared more than once.
-  main();
-  ^".call();
-  core::print(invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:35:9: Error: Can't use 'field' because it is declared more than once.
-  print(field);
-        ^");
-  invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:36:3: Error: Can't use 'C' because it is declared more than once.
-  C.s();
-  ^".s();
-}
-static method useAnotherEnum() → dynamic {
-  <core::String*, core::Object*>{"AnotherEnum.a": #C31, "AnotherEnum.b": #C33, "AnotherEnum.c": #C35, "AnotherEnum._name": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:102:38: Error: Can't use '_name' because it is declared more than once.
-    \"AnotherEnum._name\": AnotherEnum._name,
-                                     ^^^^^", "AnotherEnum.index": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:103:38: Error: Can't use 'index' because it is declared more than once.
-    \"AnotherEnum.index\": AnotherEnum.index,
-                                     ^^^^^", "AnotherEnum.toString": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:104:41: Error: Can't use 'toString' because it is declared more than once.
-    \"AnotherEnum.toString\": AnotherEnum.toString,
-                                        ^^^^^^^^", "AnotherEnum.values": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:105:39: Error: Can't use 'values' because it is declared more than once.
-    \"AnotherEnum.values\": AnotherEnum.values,
-                                      ^^^^^^"};
-}
-
-library;
-import self as self2;
-
-
-constants  {
-  #C1 = #Object
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = 0
-  #C6 = "Enum.a"
-  #C7 = self::Enum#4 {index:#C5, _name:#C6}
-  #C8 = <self::Enum#4*>[#C7]
-  #C9 = self::Enum#3 {index:#C5, _name:#C6}
-  #C10 = 1
-  #C11 = "Enum.b"
-  #C12 = self::Enum#3 {index:#C10, _name:#C11}
-  #C13 = 2
-  #C14 = "Enum.c"
-  #C15 = self::Enum#3 {index:#C13, _name:#C14}
-  #C16 = <self::Enum#3*>[#C9, #C12, #C15]
-  #C17 = "Enum.Enum"
-  #C18 = self::Enum#2 {index:#C5, _name:#C17}
-  #C19 = self::Enum#2 {index:#C10, _name:#C6}
-  #C20 = self::Enum#2 {index:#C13, _name:#C11}
-  #C21 = <self::Enum#2*>[#C18, #C19, #C20]
-  #C22 = self::Enum#1 {index:#C5, _name:#C6}
-  #C23 = self::Enum#1 {index:#C10, _name:#C11}
-  #C24 = self::Enum#1 {index:#C13, _name:#C14}
-  #C25 = <self::Enum#1*>[#C22, #C23, #C24]
-  #C26 = self::Enum {index:#C5, _name:#C17}
-  #C27 = self::Enum {index:#C10, _name:#C6}
-  #C28 = self::Enum {index:#C13, _name:#C11}
-  #C29 = <self::Enum*>[#C26, #C27, #C28]
-  #C30 = "AnotherEnum.a"
-  #C31 = self::AnotherEnum {index:#C5, _name:#C30}
-  #C32 = "AnotherEnum.b"
-  #C33 = self::AnotherEnum {index:#C10, _name:#C32}
-  #C34 = "AnotherEnum.c"
-  #C35 = self::AnotherEnum {index:#C13, _name:#C34}
-  #C36 = <self::AnotherEnum*>[#C31, #C33, #C35]
-}
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.legacy.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.legacy.expect
deleted file mode 100644
index bf73ccb..0000000
--- a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/duplicated_field_initializer.dart:7:7: Error: 'a' is already declared in this scope.
-//   int a;
-//       ^
-// pkg/front_end/testcases/general/duplicated_field_initializer.dart:6:7: Context: Previous declaration of 'a'.
-//   int a;
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_field_initializer.dart:8:10: Error: Can't use 'a' because it is declared more than once.
-//   A(this.a);
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  constructor •(dynamic a) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/duplicated_field_initializer.dart:8:10: Error: Can't use 'a' because it is declared more than once.
-  A(this.a);
-         ^", super core::Object::•()
-    ;
-}
-static method main() → void {
-  new self::A::•(1);
-}
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.legacy.transformed.expect
deleted file mode 100644
index bf73ccb..0000000
--- a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/duplicated_field_initializer.dart:7:7: Error: 'a' is already declared in this scope.
-//   int a;
-//       ^
-// pkg/front_end/testcases/general/duplicated_field_initializer.dart:6:7: Context: Previous declaration of 'a'.
-//   int a;
-//       ^
-//
-// pkg/front_end/testcases/general/duplicated_field_initializer.dart:8:10: Error: Can't use 'a' because it is declared more than once.
-//   A(this.a);
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  constructor •(dynamic a) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/duplicated_field_initializer.dart:8:10: Error: Can't use 'a' because it is declared more than once.
-  A(this.a);
-         ^", super core::Object::•()
-    ;
-}
-static method main() → void {
-  new self::A::•(1);
-}
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.legacy.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.legacy.expect
deleted file mode 100644
index e2459a3..0000000
--- a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method m({core::int* a = #C1}) → dynamic {}
-}
-static method test() → void {
-  self::C::m(a: 1, a: 2, a: 3);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.legacy.transformed.expect
deleted file mode 100644
index e2459a3..0000000
--- a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method m({core::int* a = #C1}) → dynamic {}
-}
-static method test() → void {
-  self::C::m(a: 1, a: 2, a: 3);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.legacy.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.legacy.expect
deleted file mode 100644
index fb26a44..0000000
--- a/pkg/front_end/testcases/general/dynamic_and_void.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/dynamic_and_void.dart:10:27: Warning: Type 'dynamic' not found.
-// /*@warning=TypeNotFound*/ dynamic testDynamic() => 0;
-//                           ^^^^^^^
-//
-import self as self;
-
-import "dart:core";
-
-static method testDynamic() → invalid-type
-  return 0;
-static method testVoid() → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.legacy.transformed.expect
deleted file mode 100644
index fb26a44..0000000
--- a/pkg/front_end/testcases/general/dynamic_and_void.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/dynamic_and_void.dart:10:27: Warning: Type 'dynamic' not found.
-// /*@warning=TypeNotFound*/ dynamic testDynamic() => 0;
-//                           ^^^^^^^
-//
-import self as self;
-
-import "dart:core";
-
-static method testDynamic() → invalid-type
-  return 0;
-static method testVoid() → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/escape.dart.legacy.expect b/pkg/front_end/testcases/general/escape.dart.legacy.expect
deleted file mode 100644
index 9e46580..0000000
--- a/pkg/front_end/testcases/general/escape.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic x) → core::bool*
-    return false;
-}
-class X extends core::Object implements self::A, self::B {
-  field dynamic field = null;
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-static method useAsA(self::A* object) → void {
-  dynamic _ = object.field;
-}
-static method useAsB(self::B* object) → void {
-  dynamic _ = object.field;
-  self::escape(object);
-}
-static method escape(dynamic x) → void {
-  x.==(null) ? x = "" : null;
-  x.==(null) ? x = 45 : null;
-  if(!(x is core::int*) && !(x is core::String*)) {
-    x.field = 45;
-  }
-}
-static method main() → dynamic {
-  dynamic object = new self::X::•();
-  self::useAsA(new self::A::•());
-  self::useAsA(object);
-  self::useAsB(new self::B::•());
-  self::useAsB(object);
-}
diff --git a/pkg/front_end/testcases/general/escape.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/escape.dart.legacy.transformed.expect
deleted file mode 100644
index 9e46580..0000000
--- a/pkg/front_end/testcases/general/escape.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic x) → core::bool*
-    return false;
-}
-class X extends core::Object implements self::A, self::B {
-  field dynamic field = null;
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-static method useAsA(self::A* object) → void {
-  dynamic _ = object.field;
-}
-static method useAsB(self::B* object) → void {
-  dynamic _ = object.field;
-  self::escape(object);
-}
-static method escape(dynamic x) → void {
-  x.==(null) ? x = "" : null;
-  x.==(null) ? x = 45 : null;
-  if(!(x is core::int*) && !(x is core::String*)) {
-    x.field = 45;
-  }
-}
-static method main() → dynamic {
-  dynamic object = new self::X::•();
-  self::useAsA(new self::A::•());
-  self::useAsA(object);
-  self::useAsB(new self::B::•());
-  self::useAsB(object);
-}
diff --git a/pkg/front_end/testcases/general/export_main.dart.legacy.expect b/pkg/front_end/testcases/general/export_main.dart.legacy.expect
deleted file mode 100644
index 2ce3772..0000000
--- a/pkg/front_end/testcases/general/export_main.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "hello.dart" as hel;
-additionalExports = (hel::main)
-
-
-export "org-dartlang-testcase:///hello.dart";
-
-
-library;
-import self as hel;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/export_main.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/export_main.dart.legacy.transformed.expect
deleted file mode 100644
index 2ce3772..0000000
--- a/pkg/front_end/testcases/general/export_main.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "hello.dart" as hel;
-additionalExports = (hel::main)
-
-
-export "org-dartlang-testcase:///hello.dart";
-
-
-library;
-import self as hel;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/export_test.dart.legacy.expect b/pkg/front_end/testcases/general/export_test.dart.legacy.expect
deleted file mode 100644
index 96ce0dd..0000000
--- a/pkg/front_end/testcases/general/export_test.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:developer" as dev;
-additionalExports = (core::print)
-
-
-import "dart:profiler";
-export "dart:core";
-
-static method main() → dynamic {
-  core::print(dev::UserTag*);
-}
diff --git a/pkg/front_end/testcases/general/export_test.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/export_test.dart.legacy.transformed.expect
deleted file mode 100644
index 96ce0dd..0000000
--- a/pkg/front_end/testcases/general/export_test.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:developer" as dev;
-additionalExports = (core::print)
-
-
-import "dart:profiler";
-export "dart:core";
-
-static method main() → dynamic {
-  core::print(dev::UserTag*);
-}
diff --git a/pkg/front_end/testcases/general/expressions.dart.legacy.expect b/pkg/front_end/testcases/general/expressions.dart.legacy.expect
deleted file mode 100644
index fce57ec..0000000
--- a/pkg/front_end/testcases/general/expressions.dart.legacy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/expressions.dart:74:16: Warning: Method not found: 'int.toString'.
-//     print(int?.toString());
-//                ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method foo({dynamic fisk = #C1}) → dynamic {
-  core::print(fisk);
-}
-static method caller(dynamic f) → dynamic {
-  f.call();
-}
-static method main() → dynamic {
-  core::int* i = 0;
-  core::print(i.==(1) ? "bad" : "good");
-  core::print("${i}");
-  core::print("'${i}'");
-  core::print(" '${i}' ");
-  core::print(" '${i}' '${i}'");
-  core::print(" '${i}' '${i}'");
-  core::print("foobar");
-  core::print(" '${i}' '${i}' '${i}' '${i}'");
-  try {
-    throw "fisk";
-  }
-  on core::String* catch(final core::String* e, final core::StackTrace* s) {
-    core::print(e);
-    if(!s.==(null))
-      core::print(s);
-  }
-  for (; false; ) {
-  }
-  dynamic list = <dynamic>["Hello, World!"];
-  core::print(list.[](i));
-  list.[]=(i, "Hello, Brave New World!");
-  core::print(list.[](i));
-  i = 87;
-  core::print(i.unary-());
-  core::print(i.~());
-  core::print(!i.==(42));
-  core::print(i = i.-(1));
-  core::print(i = i.+(1));
-  core::print(let final dynamic #t1 = i in let final dynamic #t2 = i = #t1.-(1) in #t1);
-  core::print(let final dynamic #t3 = i in let final dynamic #t4 = i = #t3.+(1) in #t3);
-  core::print(new core::Object::•());
-  core::print(#C2);
-  core::print(core::List::•<core::String*>(2).runtimeType);
-  self::foo(fisk: "Blorp gulp");
-  function f() → dynamic {
-    core::print("f was called");
-  }
-  self::caller(f);
-  self::caller(() → dynamic {
-    core::print("<anon> was called");
-  });
-  function g([dynamic message = #C1]) → dynamic {
-    core::print(message);
-  }
-  g.call("Hello, World");
-  self::caller(([dynamic x = #C1]) → dynamic {
-    core::print("<anon> was called with ${x}");
-  });
-  function h({dynamic message = #C1}) → dynamic {
-    core::print(message);
-  }
-  h.call(message: "Hello, World");
-  self::caller(({dynamic x = #C1}) → dynamic {
-    core::print("<anon> was called with ${x}");
-  });
-  core::print(core::int*.toString());
-  core::print(core::int*);
-  core::print(let final dynamic #t5 = core::int* in let final dynamic #t6 = #t5.toString() in #t5);
-  try {
-    core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 32, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw "Shouldn't work";
-  }
-  on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-    core::print("As expected: ${e}");
-  }
-  core::print(core::int::parse("42"));
-}
-
-constants  {
-  #C1 = null
-  #C2 = core::Object {}
-  #C3 = #int.toString
-  #C4 = <core::Type*>[]
-  #C5 = <dynamic>[]
-  #C6 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C5}
-}
diff --git a/pkg/front_end/testcases/general/expressions.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/expressions.dart.legacy.transformed.expect
deleted file mode 100644
index eba96bc..0000000
--- a/pkg/front_end/testcases/general/expressions.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/expressions.dart:74:16: Warning: Method not found: 'int.toString'.
-//     print(int?.toString());
-//                ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method foo({dynamic fisk = #C1}) → dynamic {
-  core::print(fisk);
-}
-static method caller(dynamic f) → dynamic {
-  f.call();
-}
-static method main() → dynamic {
-  core::int* i = 0;
-  core::print(i.==(1) ? "bad" : "good");
-  core::print("${i}");
-  core::print("'${i}'");
-  core::print(" '${i}' ");
-  core::print(" '${i}' '${i}'");
-  core::print(" '${i}' '${i}'");
-  core::print("foobar");
-  core::print(" '${i}' '${i}' '${i}' '${i}'");
-  try {
-    throw "fisk";
-  }
-  on core::String* catch(final core::String* e, final core::StackTrace* s) {
-    core::print(e);
-    if(!s.==(null))
-      core::print(s);
-  }
-  for (; false; ) {
-  }
-  dynamic list = <dynamic>["Hello, World!"];
-  core::print(list.[](i));
-  list.[]=(i, "Hello, Brave New World!");
-  core::print(list.[](i));
-  i = 87;
-  core::print(i.unary-());
-  core::print(i.~());
-  core::print(!i.==(42));
-  core::print(i = i.-(1));
-  core::print(i = i.+(1));
-  core::print(let final dynamic #t1 = i in let final dynamic #t2 = i = #t1.-(1) in #t1);
-  core::print(let final dynamic #t3 = i in let final dynamic #t4 = i = #t3.+(1) in #t3);
-  core::print(new core::Object::•());
-  core::print(#C2);
-  core::print(core::_List::•<core::String*>(2).runtimeType);
-  self::foo(fisk: "Blorp gulp");
-  function f() → dynamic {
-    core::print("f was called");
-  }
-  self::caller(f);
-  self::caller(() → dynamic {
-    core::print("<anon> was called");
-  });
-  function g([dynamic message = #C1]) → dynamic {
-    core::print(message);
-  }
-  g.call("Hello, World");
-  self::caller(([dynamic x = #C1]) → dynamic {
-    core::print("<anon> was called with ${x}");
-  });
-  function h({dynamic message = #C1}) → dynamic {
-    core::print(message);
-  }
-  h.call(message: "Hello, World");
-  self::caller(({dynamic x = #C1}) → dynamic {
-    core::print("<anon> was called with ${x}");
-  });
-  core::print(core::int*.toString());
-  core::print(core::int*);
-  core::print(let final dynamic #t5 = core::int* in let final dynamic #t6 = #t5.toString() in #t5);
-  try {
-    core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 32, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw "Shouldn't work";
-  }
-  on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-    core::print("As expected: ${e}");
-  }
-  core::print(core::int::parse("42"));
-}
-
-constants  {
-  #C1 = null
-  #C2 = core::Object {}
-  #C3 = #int.toString
-  #C4 = <core::Type*>[]
-  #C5 = <dynamic>[]
-  #C6 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C5}
-}
diff --git a/pkg/front_end/testcases/general/extension_methods.dart.legacy.expect b/pkg/front_end/testcases/general/extension_methods.dart.legacy.expect
deleted file mode 100644
index a32b107..0000000
--- a/pkg/front_end/testcases/general/extension_methods.dart.legacy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension E on C {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:16: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension E on C {
-//                ^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:16: Error: 'C' is already declared in this scope.
-// extension E on C {
-//                ^
-// pkg/front_end/testcases/general/extension_methods.dart:9:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:1: Warning: Type 'extension' not found.
-// extension E on C {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:13: Warning: Type 'on' not found.
-// extension E on C {
-//             ^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:1: Warning: 'extension' isn't a type.
-// extension E on C {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:14:7: Error: Expected ';' after this.
-//   int get two => 2;
-//       ^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:14:15: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   int get two => 2;
-//               ^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:18:3: Error: Can't use 'C' because it is declared more than once.
-//   C c = C();
-//   ^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:18:9: Error: Can't use 'C' because it is declared more than once.
-//   C c = C();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get one() → core::int*
-    return 1;
-}
-static field invalid-type E;
-static method main() → dynamic {
-  invalid-type c = invalid-expression "pkg/front_end/testcases/general/extension_methods.dart:18:9: Error: Can't use 'C' because it is declared more than once.
-  C c = C();
-        ^".call();
-  dynamic result = c.one.+(c.two);
-  exp::Expect::equals(result, 3);
-}
diff --git a/pkg/front_end/testcases/general/extension_methods.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/extension_methods.dart.legacy.transformed.expect
deleted file mode 100644
index a32b107..0000000
--- a/pkg/front_end/testcases/general/extension_methods.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:1: Error: This requires the 'extension-methods' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// extension E on C {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:16: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// extension E on C {
-//                ^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:16: Error: 'C' is already declared in this scope.
-// extension E on C {
-//                ^
-// pkg/front_end/testcases/general/extension_methods.dart:9:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:1: Warning: Type 'extension' not found.
-// extension E on C {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:13: Warning: Type 'on' not found.
-// extension E on C {
-//             ^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:13:1: Warning: 'extension' isn't a type.
-// extension E on C {
-// ^^^^^^^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:14:7: Error: Expected ';' after this.
-//   int get two => 2;
-//       ^^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:14:15: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-//   int get two => 2;
-//               ^^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:18:3: Error: Can't use 'C' because it is declared more than once.
-//   C c = C();
-//   ^
-//
-// pkg/front_end/testcases/general/extension_methods.dart:18:9: Error: Can't use 'C' because it is declared more than once.
-//   C c = C();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get one() → core::int*
-    return 1;
-}
-static field invalid-type E;
-static method main() → dynamic {
-  invalid-type c = invalid-expression "pkg/front_end/testcases/general/extension_methods.dart:18:9: Error: Can't use 'C' because it is declared more than once.
-  C c = C();
-        ^".call();
-  dynamic result = c.one.+(c.two);
-  exp::Expect::equals(result, 3);
-}
diff --git a/pkg/front_end/testcases/general/extension_methods.dart.strong.expect b/pkg/front_end/testcases/general/extension_methods.dart.strong.expect
deleted file mode 100644
index ed1bc06..0000000
--- a/pkg/front_end/testcases/general/extension_methods.dart.strong.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general/extension_methods.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
-//   var result = c.one + c.two;
-//                          ^^^
-//
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get one() → core::int*
-    return 1;
-}
-extension E on self::C* {
-  get two = self::E|get#two;
-}
-static method E|get#two(final self::C* #this) → core::int*
-  return 2;
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  core::num* result = c.{self::C::one}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general/extension_methods.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
-  var result = c.one + c.two;
-                         ^^^" as{TypeError} core::num*);
-  exp::Expect::equals(result, 3);
-}
diff --git a/pkg/front_end/testcases/general/extension_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/general/extension_methods.dart.strong.transformed.expect
deleted file mode 100644
index ed1bc06..0000000
--- a/pkg/front_end/testcases/general/extension_methods.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general/extension_methods.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
-//   var result = c.one + c.two;
-//                          ^^^
-//
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get one() → core::int*
-    return 1;
-}
-extension E on self::C* {
-  get two = self::E|get#two;
-}
-static method E|get#two(final self::C* #this) → core::int*
-  return 2;
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  core::num* result = c.{self::C::one}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/extension_methods.dart:19:26: Error: The getter 'two' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general/extension_methods.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'two'.
-  var result = c.one + c.two;
-                         ^^^" as{TypeError} core::num*);
-  exp::Expect::equals(result, 3);
-}
diff --git a/pkg/front_end/testcases/general/external.dart.legacy.expect b/pkg/front_end/testcases/general/external.dart.legacy.expect
deleted file mode 100644
index 357ceff..0000000
--- a/pkg/front_end/testcases/general/external.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:isolate" as iso;
-
-import "dart:isolate";
-
-static field dynamic subscription;
-static method onData(dynamic x) → void {
-  core::print(x);
-  self::subscription.cancel();
-}
-static method main() → dynamic {
-  dynamic string = core::String::fromCharCode(65);
-  dynamic port = iso::ReceivePort::•();
-  self::subscription = port.listen(#C1);
-  port.sendPort.send(string);
-}
-
-constants  {
-  #C1 = tearoff self::onData
-}
diff --git a/pkg/front_end/testcases/general/external.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/external.dart.legacy.transformed.expect
deleted file mode 100644
index 357ceff..0000000
--- a/pkg/front_end/testcases/general/external.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:isolate" as iso;
-
-import "dart:isolate";
-
-static field dynamic subscription;
-static method onData(dynamic x) → void {
-  core::print(x);
-  self::subscription.cancel();
-}
-static method main() → dynamic {
-  dynamic string = core::String::fromCharCode(65);
-  dynamic port = iso::ReceivePort::•();
-  self::subscription = port.listen(#C1);
-  port.sendPort.send(string);
-}
-
-constants  {
-  #C1 = tearoff self::onData
-}
diff --git a/pkg/front_end/testcases/general/external_import.dart.legacy.expect b/pkg/front_end/testcases/general/external_import.dart.legacy.expect
deleted file mode 100644
index 92724dc..0000000
--- a/pkg/front_end/testcases/general/external_import.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-@#C2
-@#C4
-@#C6
-library;
-import self as self;
-import "dart:_internal" as _in;
-
-static method main() → dynamic {}
-
-constants  {
-  #C1 = "dart-ext:here"
-  #C2 = _in::ExternalName {name:#C1}
-  #C3 = "dart-ext:foo/../there"
-  #C4 = _in::ExternalName {name:#C3}
-  #C5 = "dart-ext:/usr/local/somewhere"
-  #C6 = _in::ExternalName {name:#C5}
-}
diff --git a/pkg/front_end/testcases/general/external_import.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/external_import.dart.legacy.transformed.expect
deleted file mode 100644
index 92724dc..0000000
--- a/pkg/front_end/testcases/general/external_import.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-@#C2
-@#C4
-@#C6
-library;
-import self as self;
-import "dart:_internal" as _in;
-
-static method main() → dynamic {}
-
-constants  {
-  #C1 = "dart-ext:here"
-  #C2 = _in::ExternalName {name:#C1}
-  #C3 = "dart-ext:foo/../there"
-  #C4 = _in::ExternalName {name:#C3}
-  #C5 = "dart-ext:/usr/local/somewhere"
-  #C6 = _in::ExternalName {name:#C5}
-}
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.legacy.expect b/pkg/front_end/testcases/general/fallthrough.dart.legacy.expect
deleted file mode 100644
index bab6a77..0000000
--- a/pkg/front_end/testcases/general/fallthrough.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main(core::List<core::String> args) → void {
-  dynamic x = args.length;
-  #L1:
-  switch(x) {
-    #L2:
-    case 3:
-      {
-        x = 4;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///fallthrough.dart", 8);
-      }
-    #L3:
-    case 5:
-      {
-        break #L1;
-      }
-    #L4:
-    case 6:
-    case 7:
-      {
-        if(args.[](0).==("")) {
-          break #L1;
-        }
-        else {
-          return;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///fallthrough.dart", 12);
-      }
-    #L5:
-    case 4:
-      {
-        break #L1;
-      }
-  }
-}
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.legacy.expect b/pkg/front_end/testcases/general/fibonacci.dart.legacy.expect
deleted file mode 100644
index 656cea2..0000000
--- a/pkg/front_end/testcases/general/fibonacci.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method fibonacci(core::int* n) → core::int* {
-  if(n.<(2))
-    return n;
-  return self::fibonacci(n.-(1)).+(self::fibonacci(n.-(2)));
-}
-static method main() → dynamic {
-  for (core::int* i = 0; i.<(20); i = i.+(1)) {
-    core::print(self::fibonacci(i));
-  }
-}
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/fibonacci.dart.legacy.transformed.expect
deleted file mode 100644
index 656cea2..0000000
--- a/pkg/front_end/testcases/general/fibonacci.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method fibonacci(core::int* n) → core::int* {
-  if(n.<(2))
-    return n;
-  return self::fibonacci(n.-(1)).+(self::fibonacci(n.-(2)));
-}
-static method main() → dynamic {
-  for (core::int* i = 0; i.<(20); i = i.+(1)) {
-    core::print(self::fibonacci(i));
-  }
-}
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.legacy.expect b/pkg/front_end/testcases/general/for_in_scope.dart.legacy.expect
deleted file mode 100644
index 78f359e..0000000
--- a/pkg/front_end/testcases/general/for_in_scope.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main(core::List<core::String*>* arguments) → dynamic {
-  for (core::String* arguments in arguments) {
-    core::print(arguments);
-  }
-}
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/for_in_scope.dart.legacy.transformed.expect
deleted file mode 100644
index 78f359e..0000000
--- a/pkg/front_end/testcases/general/for_in_scope.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main(core::List<core::String*>* arguments) → dynamic {
-  for (core::String* arguments in arguments) {
-    core::print(arguments);
-  }
-}
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.legacy.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.legacy.expect
deleted file mode 100644
index d76478a..0000000
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.legacy.expect
+++ /dev/null
@@ -1,163 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:32:10: Error: Expected an identifier, but got 'super'.
-//     for (super.superInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:33:10: Error: Expected an identifier, but got 'super'.
-//     for (super.untypedSuperInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:35:11: Error: Unexpected token '.'.
-//     for (c.instanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:36:11: Error: Unexpected token '.'.
-//     for (c.untypedSuperInstanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:37:10: Warning: Setter not found: 'unresolved'.
-//     for (unresolved in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:38:10: Warning: Getter not found: 'unresolved'.
-//     for (unresolved.foo in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:38:20: Error: Unexpected token '.'.
-//     for (unresolved.foo in []) {}
-//                    ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:39:11: Error: Unexpected token '.'.
-//     for (c.unresolved in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:40:14: Error: Unexpected token '('.
-//     for (main() in []) {}
-//              ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-//     for (main() in []) {}
-//          ^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:41:15: Error: Unexpected token ','.
-//     for (var x, y in <int>[]) {
-//               ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
-//     for (var x, y in <int>[]) {
-//          ^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:46:10: Warning: Setter not found: 'constant'.
-//     for (constant in []) {}
-//          ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  field core::int* superInstanceField = null;
-  field dynamic untypedSuperInstanceField = null;
-  synthetic constructor •() → self::Super*
-    : super core::Object::•()
-    ;
-}
-class C extends self::Super {
-  field core::int* instanceField = null;
-  field dynamic untypedInstanceField = null;
-  static field core::double* staticField = null;
-  static field dynamic untypedStaticField = null;
-  synthetic constructor •() → self::C*
-    : super self::Super::•()
-    ;
-  method m() → dynamic {
-    core::String* local;
-    dynamic untypedLocal;
-    for (final dynamic #t1 in <dynamic>[]) {
-      local = #t1;
-    }
-    for (final dynamic #t2 in <dynamic>[]) {
-      untypedLocal = #t2;
-    }
-    for (final dynamic #t3 in <dynamic>[]) {
-      this.{self::C::instanceField} = #t3;
-    }
-    for (final dynamic #t4 in <dynamic>[]) {
-      this.{self::C::untypedInstanceField} = #t4;
-    }
-    for (final dynamic #t5 in <dynamic>[]) {
-      self::C::staticField = #t5;
-    }
-    for (final dynamic #t6 in <dynamic>[]) {
-      self::C::untypedStaticField = #t6;
-    }
-    for (final dynamic #t7 in <dynamic>[]) {
-      self::topLevelField = #t7;
-    }
-    for (final dynamic #t8 in <dynamic>[]) {
-      self::untypedTopLevelField = #t8;
-    }
-    for (final dynamic #t9 in <dynamic>[]) {
-      super.{self::Super::superInstanceField} = #t9;
-    }
-    for (final dynamic #t10 in <dynamic>[]) {
-      super.{self::Super::untypedSuperInstanceField} = #t10;
-    }
-    self::C* c = new self::C::•();
-    for (final dynamic #t11 in <dynamic>[]) {
-      c.instanceField = #t11;
-    }
-    for (final dynamic #t12 in <dynamic>[]) {
-      c.untypedSuperInstanceField = #t12;
-    }
-    for (final dynamic #t13 in <dynamic>[]) {
-      this.unresolved = #t13;
-    }
-    for (final dynamic #t14 in <dynamic>[]) {
-      this.unresolved.foo = #t14;
-    }
-    for (final dynamic #t15 in <dynamic>[]) {
-      c.unresolved = #t15;
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (main() in []) {}
-         ^^^^";
-      for (final dynamic #t16 in <dynamic>[]) {
-        invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (main() in []) {}
-         ^^^^";
-        self::main();
-      }
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
-    for (var x, y in <int>[]) {
-         ^^^";
-      for (final dynamic #t17 in <core::int*>[]) {
-        invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
-    for (var x, y in <int>[]) {
-         ^^^";
-        dynamic x;
-        dynamic y;
-        core::print(x);
-        core::print(y);
-      }
-    }
-    for (final dynamic #t18 in <dynamic>[]) {
-      throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t18]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    }
-  }
-}
-static field core::bool* topLevelField;
-static field dynamic untypedTopLevelField;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #constant
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.legacy.transformed.expect
deleted file mode 100644
index d76478a..0000000
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,163 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:32:10: Error: Expected an identifier, but got 'super'.
-//     for (super.superInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:33:10: Error: Expected an identifier, but got 'super'.
-//     for (super.untypedSuperInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:35:11: Error: Unexpected token '.'.
-//     for (c.instanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:36:11: Error: Unexpected token '.'.
-//     for (c.untypedSuperInstanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:37:10: Warning: Setter not found: 'unresolved'.
-//     for (unresolved in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:38:10: Warning: Getter not found: 'unresolved'.
-//     for (unresolved.foo in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:38:20: Error: Unexpected token '.'.
-//     for (unresolved.foo in []) {}
-//                    ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:39:11: Error: Unexpected token '.'.
-//     for (c.unresolved in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:40:14: Error: Unexpected token '('.
-//     for (main() in []) {}
-//              ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-//     for (main() in []) {}
-//          ^^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:41:15: Error: Unexpected token ','.
-//     for (var x, y in <int>[]) {
-//               ^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
-//     for (var x, y in <int>[]) {
-//          ^^^
-//
-// pkg/front_end/testcases/general/for_in_without_declaration.dart:46:10: Warning: Setter not found: 'constant'.
-//     for (constant in []) {}
-//          ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  field core::int* superInstanceField = null;
-  field dynamic untypedSuperInstanceField = null;
-  synthetic constructor •() → self::Super*
-    : super core::Object::•()
-    ;
-}
-class C extends self::Super {
-  field core::int* instanceField = null;
-  field dynamic untypedInstanceField = null;
-  static field core::double* staticField = null;
-  static field dynamic untypedStaticField = null;
-  synthetic constructor •() → self::C*
-    : super self::Super::•()
-    ;
-  method m() → dynamic {
-    core::String* local;
-    dynamic untypedLocal;
-    for (final dynamic #t1 in <dynamic>[]) {
-      local = #t1;
-    }
-    for (final dynamic #t2 in <dynamic>[]) {
-      untypedLocal = #t2;
-    }
-    for (final dynamic #t3 in <dynamic>[]) {
-      this.{self::C::instanceField} = #t3;
-    }
-    for (final dynamic #t4 in <dynamic>[]) {
-      this.{self::C::untypedInstanceField} = #t4;
-    }
-    for (final dynamic #t5 in <dynamic>[]) {
-      self::C::staticField = #t5;
-    }
-    for (final dynamic #t6 in <dynamic>[]) {
-      self::C::untypedStaticField = #t6;
-    }
-    for (final dynamic #t7 in <dynamic>[]) {
-      self::topLevelField = #t7;
-    }
-    for (final dynamic #t8 in <dynamic>[]) {
-      self::untypedTopLevelField = #t8;
-    }
-    for (final dynamic #t9 in <dynamic>[]) {
-      super.{self::Super::superInstanceField} = #t9;
-    }
-    for (final dynamic #t10 in <dynamic>[]) {
-      super.{self::Super::untypedSuperInstanceField} = #t10;
-    }
-    self::C* c = new self::C::•();
-    for (final dynamic #t11 in <dynamic>[]) {
-      c.instanceField = #t11;
-    }
-    for (final dynamic #t12 in <dynamic>[]) {
-      c.untypedSuperInstanceField = #t12;
-    }
-    for (final dynamic #t13 in <dynamic>[]) {
-      this.unresolved = #t13;
-    }
-    for (final dynamic #t14 in <dynamic>[]) {
-      this.unresolved.foo = #t14;
-    }
-    for (final dynamic #t15 in <dynamic>[]) {
-      c.unresolved = #t15;
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (main() in []) {}
-         ^^^^";
-      for (final dynamic #t16 in <dynamic>[]) {
-        invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (main() in []) {}
-         ^^^^";
-        self::main();
-      }
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
-    for (var x, y in <int>[]) {
-         ^^^";
-      for (final dynamic #t17 in <core::int*>[]) {
-        invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
-    for (var x, y in <int>[]) {
-         ^^^";
-        dynamic x;
-        dynamic y;
-        core::print(x);
-        core::print(y);
-      }
-    }
-    for (final dynamic #t18 in <dynamic>[]) {
-      throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t18]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    }
-  }
-}
-static field core::bool* topLevelField;
-static field dynamic untypedTopLevelField;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #constant
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.legacy.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.legacy.expect
deleted file mode 100644
index 4f87d1b..0000000
--- a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(covariant core::int* a) → dynamic
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(dynamic b) → dynamic
-    return null;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub operator +(covariant dynamic b) → dynamic;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  operator +(dynamic d) → dynamic
-    return null;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  forwarding-stub forwarding-semi-stub operator +(covariant core::int* e) → dynamic
-    return super.{self::D::+}(e);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.legacy.transformed.expect
deleted file mode 100644
index 4f87d1b..0000000
--- a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(covariant core::int* a) → dynamic
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(dynamic b) → dynamic
-    return null;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub operator +(covariant dynamic b) → dynamic;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  operator +(dynamic d) → dynamic
-    return null;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  forwarding-stub forwarding-semi-stub operator +(covariant core::int* e) → dynamic
-    return super.{self::D::+}(e);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.legacy.expect b/pkg/front_end/testcases/general/function_in_field.dart.legacy.expect
deleted file mode 100644
index f5a4253..0000000
--- a/pkg/front_end/testcases/general/function_in_field.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = () → dynamic {
-  dynamic y = 42;
-  return y;
-};
-static method main() → dynamic {
-  core::print(self::x.call());
-}
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/function_in_field.dart.legacy.transformed.expect
deleted file mode 100644
index f5a4253..0000000
--- a/pkg/front_end/testcases/general/function_in_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = () → dynamic {
-  dynamic y = 42;
-  return y;
-};
-static method main() → dynamic {
-  core::print(self::x.call());
-}
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.legacy.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.legacy.expect
deleted file mode 100644
index c2d61b6..0000000
--- a/pkg/front_end/testcases/general/function_type_assignments.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* x = #C1;
-static field core::String* y = #C2;
-static field core::String* z = #C3;
-static method identity<T extends core::Object* = dynamic>(self::identity::T* t) → self::identity::T*
-  return t;
-static method identityObject<T extends core::Object* = dynamic>(self::identityObject::T* t) → self::identityObject::T*
-  return t;
-static method identityList<T extends core::List<self::identityList::T>* = dynamic>(self::identityList::T* t) → self::identityList::T*
-  return t;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::identity
-  #C2 = tearoff self::identityObject
-  #C3 = tearoff self::identityList
-}
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.legacy.transformed.expect
deleted file mode 100644
index c2d61b6..0000000
--- a/pkg/front_end/testcases/general/function_type_assignments.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* x = #C1;
-static field core::String* y = #C2;
-static field core::String* z = #C3;
-static method identity<T extends core::Object* = dynamic>(self::identity::T* t) → self::identity::T*
-  return t;
-static method identityObject<T extends core::Object* = dynamic>(self::identityObject::T* t) → self::identityObject::T*
-  return t;
-static method identityList<T extends core::List<self::identityList::T>* = dynamic>(self::identityList::T* t) → self::identityList::T*
-  return t;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::identity
-  #C2 = tearoff self::identityObject
-  #C3 = tearoff self::identityList
-}
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart.legacy.expect b/pkg/front_end/testcases/general/function_type_default_value.dart.legacy.expect
deleted file mode 100644
index 493f6b0..0000000
--- a/pkg/front_end/testcases/general/function_type_default_value.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:19: Error: Expected an identifier, but got ':'.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:19: Error: Can't have a default value in a function type.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:16: Warning: Type 'obj' not found.
-// void Function({obj: Object}) x;
-//                ^^^
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:16: Warning: 'obj' isn't a type.
-// void Function({obj: Object}) x;
-//                ^^^
-//
-import self as self;
-
-static field () →* void x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/function_type_default_value.dart.legacy.transformed.expect
deleted file mode 100644
index 493f6b0..0000000
--- a/pkg/front_end/testcases/general/function_type_default_value.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:19: Error: Expected an identifier, but got ':'.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:19: Error: Can't have a default value in a function type.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:16: Warning: Type 'obj' not found.
-// void Function({obj: Object}) x;
-//                ^^^
-//
-// pkg/front_end/testcases/general/function_type_default_value.dart:5:16: Warning: 'obj' isn't a type.
-// void Function({obj: Object}) x;
-//                ^^^
-//
-import self as self;
-
-static field () →* void x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.legacy.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.legacy.expect
deleted file mode 100644
index 9fe516f..0000000
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-static method test(dynamic f) → dynamic {
-  if(f is (core::Object*, core::StackTrace*) →* void)
-    return 1;
-  if(f is (core::Object*) →* void)
-    return 10;
-  if(f is () →* void)
-    return 100;
-}
-static method main() → dynamic {
-  exp::Expect::equals(111, self::test(() → dynamic => null).+(self::test((core::Object* o) → dynamic => null)).+(self::test((core::Object* o, core::StackTrace* t) → dynamic => null)));
-}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.legacy.transformed.expect
deleted file mode 100644
index 9fe516f..0000000
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-static method test(dynamic f) → dynamic {
-  if(f is (core::Object*, core::StackTrace*) →* void)
-    return 1;
-  if(f is (core::Object*) →* void)
-    return 10;
-  if(f is () →* void)
-    return 100;
-}
-static method main() → dynamic {
-  exp::Expect::equals(111, self::test(() → dynamic => null).+(self::test((core::Object* o) → dynamic => null)).+(self::test((core::Object* o, core::StackTrace* t) → dynamic => null)));
-}
diff --git a/pkg/front_end/testcases/general/functions.dart.legacy.expect b/pkg/front_end/testcases/general/functions.dart.legacy.expect
deleted file mode 100644
index 7563745..0000000
--- a/pkg/front_end/testcases/general/functions.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function local(({a: dynamic}) →* void f) → void {
-    f.call(a: "Hello, World");
-    f.call();
-  }
-  local.call(({dynamic a = #C1}) → dynamic {
-    core::print(a);
-  });
-}
-
-constants  {
-  #C1 = "Default greeting!"
-}
diff --git a/pkg/front_end/testcases/general/functions.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/functions.dart.legacy.transformed.expect
deleted file mode 100644
index 7563745..0000000
--- a/pkg/front_end/testcases/general/functions.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function local(({a: dynamic}) →* void f) → void {
-    f.call(a: "Hello, World");
-    f.call();
-  }
-  local.call(({dynamic a = #C1}) → dynamic {
-    core::print(a);
-  });
-}
-
-constants  {
-  #C1 = "Default greeting!"
-}
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.legacy.expect b/pkg/front_end/testcases/general/future_or_test.dart.legacy.expect
deleted file mode 100644
index f9c56fe..0000000
--- a/pkg/front_end/testcases/general/future_or_test.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return null;
-}
-class B extends core::Object {
-  field self::A* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method bar() → asy::Future<dynamic>* async 
-    return this.{self::B::a}.foo();
-}
-class C extends core::Object {
-  field self::B* b = new self::B::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method baz() → asy::Future<core::int*>* async 
-    return this.{self::C::b}.bar();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/future_or_test.dart.legacy.transformed.expect
deleted file mode 100644
index a3459c7..0000000
--- a/pkg/front_end/testcases/general/future_or_test.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return null;
-}
-class B extends core::Object {
-  field self::A* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method bar() → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          :return_value = this.{self::B::a}.foo();
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-}
-class C extends core::Object {
-  field self::B* b = new self::B::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method baz() → asy::Future<core::int*>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-    asy::FutureOr<core::int*>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          :return_value = this.{self::C::b}.bar();
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.legacy.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.legacy.expect
deleted file mode 100644
index 9e407ec..0000000
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart:4:6: Error: A file that's a part of a library can't have parts itself.
-// Try moving the 'part' declaration to the containing library.
-// part 'having_part_with_part_and_annotation_lib2.dart';
-//      ^
-// pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart: Context: This is the containing library.
-//
-import self as self;
-import "dart:core" as core;
-
-@#C1
-part having_part_with_part_and_annotation_lib1.dart;
-static const field core::int* Foo = #C1;
-static const field core::int* Bar = #C2 /* from org-dartlang-testcase:///having_part_with_part_and_annotation_lib1.dart */;
-static method fromMain() → void {}
-static method main() → dynamic {}
-static method /* from org-dartlang-testcase:///having_part_with_part_and_annotation_lib1.dart */ fromLib1() → void {}
-
-constants  {
-  #C1 = 42
-  #C2 = 43
-}
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.legacy.transformed.expect
deleted file mode 100644
index 9e407ec..0000000
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart:4:6: Error: A file that's a part of a library can't have parts itself.
-// Try moving the 'part' declaration to the containing library.
-// part 'having_part_with_part_and_annotation_lib2.dart';
-//      ^
-// pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart: Context: This is the containing library.
-//
-import self as self;
-import "dart:core" as core;
-
-@#C1
-part having_part_with_part_and_annotation_lib1.dart;
-static const field core::int* Foo = #C1;
-static const field core::int* Bar = #C2 /* from org-dartlang-testcase:///having_part_with_part_and_annotation_lib1.dart */;
-static method fromMain() → void {}
-static method main() → dynamic {}
-static method /* from org-dartlang-testcase:///having_part_with_part_and_annotation_lib1.dart */ fromLib1() → void {}
-
-constants  {
-  #C1 = 42
-  #C2 = 43
-}
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.legacy.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.legacy.expect
deleted file mode 100644
index fb32300..0000000
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart:4:6: Error: A file that's a part of a library can't have parts itself.
-// Try moving the 'part' declaration to the containing library.
-// part 'having_part_with_parts_and_annotation_lib2.dart';
-//      ^
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart: Context: This is the containing library.
-//
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart:6:6: Error: A file that's a part of a library can't have parts itself.
-// Try moving the 'part' declaration to the containing library.
-// part 'having_part_with_parts_and_annotation_lib2.dart';
-//      ^
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart: Context: This is the containing library.
-//
-import self as self;
-import "dart:core" as core;
-
-@#C1
-part having_part_with_parts_and_annotation_lib1.dart;
-static const field core::int* Foo = #C1;
-static const field core::int* Bar = #C2 /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
-static const field core::int* Baz = #C3 /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
-static method fromMain() → void {}
-static method main() → dynamic {}
-static method /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */ fromLib1() → void {}
-
-constants  {
-  #C1 = 42
-  #C2 = 43
-  #C3 = 44
-}
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.legacy.transformed.expect
deleted file mode 100644
index fb32300..0000000
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart:4:6: Error: A file that's a part of a library can't have parts itself.
-// Try moving the 'part' declaration to the containing library.
-// part 'having_part_with_parts_and_annotation_lib2.dart';
-//      ^
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart: Context: This is the containing library.
-//
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart:6:6: Error: A file that's a part of a library can't have parts itself.
-// Try moving the 'part' declaration to the containing library.
-// part 'having_part_with_parts_and_annotation_lib2.dart';
-//      ^
-// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart: Context: This is the containing library.
-//
-import self as self;
-import "dart:core" as core;
-
-@#C1
-part having_part_with_parts_and_annotation_lib1.dart;
-static const field core::int* Foo = #C1;
-static const field core::int* Bar = #C2 /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
-static const field core::int* Baz = #C3 /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
-static method fromMain() → void {}
-static method main() → dynamic {}
-static method /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */ fromLib1() → void {}
-
-constants  {
-  #C1 = 42
-  #C2 = 43
-  #C3 = 44
-}
diff --git a/pkg/front_end/testcases/general/hello.dart.legacy.expect b/pkg/front_end/testcases/general/hello.dart.legacy.expect
deleted file mode 100644
index fea7b39..0000000
--- a/pkg/front_end/testcases/general/hello.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/hello.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/hello.dart.legacy.transformed.expect
deleted file mode 100644
index fea7b39..0000000
--- a/pkg/front_end/testcases/general/hello.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.legacy.expect b/pkg/front_end/testcases/general/ignore_function.dart.legacy.expect
deleted file mode 100644
index b549c23..0000000
--- a/pkg/front_end/testcases/general/ignore_function.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/ignore_function.dart:14:15: Error: Can't infer a type for 'other' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   operator ==(other) => false;
-//               ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as core;
-
-class A extends core::Object implements core::Function {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return false;
-}
-class B extends core::Object implements self::Function {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator ==(invalid-type other) → core::bool*
-    return false;
-}
-class Function extends core::Object {
-  synthetic constructor •() → self::Function*
-    : super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return false;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/ignore_function.dart.legacy.transformed.expect
deleted file mode 100644
index b549c23..0000000
--- a/pkg/front_end/testcases/general/ignore_function.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/ignore_function.dart:14:15: Error: Can't infer a type for 'other' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   operator ==(other) => false;
-//               ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as core;
-
-class A extends core::Object implements core::Function {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return false;
-}
-class B extends core::Object implements self::Function {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator ==(invalid-type other) → core::bool*
-    return false;
-}
-class Function extends core::Object {
-  synthetic constructor •() → self::Function*
-    : super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return false;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.legacy.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.legacy.expect
deleted file mode 100644
index 907fccf..0000000
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/illegal_named_function_expression.dart:6:16: Error: A function expression can't have a name.
-//   var x = void f<T>(T t) {};
-//                ^
-//
-// pkg/front_end/testcases/general/illegal_named_function_expression.dart:8:14: Error: A function expression can't have a name.
-//   print(void g<T>(T t) {});
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic x = let final <T extends core::Object* = dynamic>(T*) →* void f = <T extends core::Object* = dynamic>(T* t) → void {} in f;
-  core::print(x.runtimeType);
-  core::print(let final <T extends core::Object* = dynamic>(T*) →* void g = <T extends core::Object* = dynamic>(T* t) → void {} in g);
-}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.legacy.transformed.expect
deleted file mode 100644
index 907fccf..0000000
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/illegal_named_function_expression.dart:6:16: Error: A function expression can't have a name.
-//   var x = void f<T>(T t) {};
-//                ^
-//
-// pkg/front_end/testcases/general/illegal_named_function_expression.dart:8:14: Error: A function expression can't have a name.
-//   print(void g<T>(T t) {});
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic x = let final <T extends core::Object* = dynamic>(T*) →* void f = <T extends core::Object* = dynamic>(T* t) → void {} in f;
-  core::print(x.runtimeType);
-  core::print(let final <T extends core::Object* = dynamic>(T*) →* void g = <T extends core::Object* = dynamic>(T* t) → void {} in g);
-}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.legacy.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.legacy.expect
deleted file mode 100644
index f3eeb5b..0000000
--- a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart:7:14: Error: A function expression can't have a name.
-//   print(void f() {});
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f() → void {}
-  core::print(let final () →* void f = () → void {} in f);
-}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.legacy.transformed.expect
deleted file mode 100644
index f3eeb5b..0000000
--- a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart:7:14: Error: A function expression can't have a name.
-//   print(void f() {});
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f() → void {}
-  core::print(let final () →* void f = () → void {} in f);
-}
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.legacy.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.legacy.expect
deleted file mode 100644
index 1636e6f..0000000
--- a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static const field dynamic constField = #C1;
-  const constructor •(dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic constTopLevelField = #C2;
-static method main() → dynamic {
-  new self::C::•(#C1);
-  new self::C::•(#C2);
-}
-
-constants  {
-  #C1 = 87
-  #C2 = 42
-}
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.legacy.transformed.expect
deleted file mode 100644
index 1636e6f..0000000
--- a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static const field dynamic constField = #C1;
-  const constructor •(dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic constTopLevelField = #C2;
-static method main() → dynamic {
-  new self::C::•(#C1);
-  new self::C::•(#C2);
-}
-
-constants  {
-  #C1 = 87
-  #C2 = 42
-}
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.legacy.expect b/pkg/front_end/testcases/general/implicit_new.dart.legacy.expect
deleted file mode 100644
index f027450..0000000
--- a/pkg/front_end/testcases/general/implicit_new.dart.legacy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/implicit_new.dart:18:18: Warning: Method not found: 'Bar'.
-//   var y = prefix.Bar();
-//                  ^^^
-//
-// pkg/front_end/testcases/general/implicit_new.dart:19:10: Warning: Method not found: 'Bar'.
-//   prefix.Bar();
-//          ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///implicit_new.dart" as prefix;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-}
-class Bar extends core::Object {
-  constructor named() → self::Bar*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-}
-class IndexTester extends core::Object {
-  synthetic constructor •() → self::IndexTester*
-    : super core::Object::•()
-    ;
-  operator [](dynamic _) → dynamic
-    return null;
-  operator []=(dynamic _a, dynamic _b) → void {}
-}
-static method testNSM() → dynamic {
-  dynamic y = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method f(dynamic x) → dynamic
-  return x;
-static method main() → dynamic {
-  dynamic x = new self::Foo::•();
-  x = new self::Foo::•();
-  dynamic z = new self::Bar::named();
-  z = new self::Bar::named();
-  self::f(new self::Foo::•());
-  self::f(new self::Foo::•());
-  self::f(new self::Bar::named());
-  self::f(new self::Bar::named());
-  dynamic l = <dynamic>[new self::Foo::•(), new self::Bar::named()];
-  l = <dynamic>[new self::Foo::•(), new self::Bar::named()];
-  dynamic m = <dynamic, dynamic>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  m = <dynamic, dynamic>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  dynamic i = new self::IndexTester::•();
-  i.[](new self::Foo::•());
-  i.[](new self::Foo::•());
-  i.[](new self::Bar::named());
-  i.[](new self::Bar::named());
-  i.[]=(new self::Foo::•(), null);
-  i.[]=(new self::Foo::•(), null);
-  i.[]=(new self::Bar::named(), null);
-  i.[]=(new self::Bar::named(), null);
-  new self::Foo::•().+(new self::Bar::named());
-  new self::Foo::•().+(new self::Bar::named());
-  new self::Bar::named().+(new self::Foo::•());
-  new self::Bar::named().+(new self::Foo::•());
-}
-
-constants  {
-  #C1 = #Bar
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/implicit_new.dart.legacy.transformed.expect
deleted file mode 100644
index f027450..0000000
--- a/pkg/front_end/testcases/general/implicit_new.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/implicit_new.dart:18:18: Warning: Method not found: 'Bar'.
-//   var y = prefix.Bar();
-//                  ^^^
-//
-// pkg/front_end/testcases/general/implicit_new.dart:19:10: Warning: Method not found: 'Bar'.
-//   prefix.Bar();
-//          ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///implicit_new.dart" as prefix;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-}
-class Bar extends core::Object {
-  constructor named() → self::Bar*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-}
-class IndexTester extends core::Object {
-  synthetic constructor •() → self::IndexTester*
-    : super core::Object::•()
-    ;
-  operator [](dynamic _) → dynamic
-    return null;
-  operator []=(dynamic _a, dynamic _b) → void {}
-}
-static method testNSM() → dynamic {
-  dynamic y = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method f(dynamic x) → dynamic
-  return x;
-static method main() → dynamic {
-  dynamic x = new self::Foo::•();
-  x = new self::Foo::•();
-  dynamic z = new self::Bar::named();
-  z = new self::Bar::named();
-  self::f(new self::Foo::•());
-  self::f(new self::Foo::•());
-  self::f(new self::Bar::named());
-  self::f(new self::Bar::named());
-  dynamic l = <dynamic>[new self::Foo::•(), new self::Bar::named()];
-  l = <dynamic>[new self::Foo::•(), new self::Bar::named()];
-  dynamic m = <dynamic, dynamic>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  m = <dynamic, dynamic>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  dynamic i = new self::IndexTester::•();
-  i.[](new self::Foo::•());
-  i.[](new self::Foo::•());
-  i.[](new self::Bar::named());
-  i.[](new self::Bar::named());
-  i.[]=(new self::Foo::•(), null);
-  i.[]=(new self::Foo::•(), null);
-  i.[]=(new self::Bar::named(), null);
-  i.[]=(new self::Bar::named(), null);
-  new self::Foo::•().+(new self::Bar::named());
-  new self::Foo::•().+(new self::Bar::named());
-  new self::Bar::named().+(new self::Foo::•());
-  new self::Bar::named().+(new self::Foo::•());
-}
-
-constants  {
-  #C1 = #Bar
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.legacy.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.legacy.expect
deleted file mode 100644
index 75ce31e..0000000
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.legacy.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class ImplicitScopeTest extends core::Object {
-  synthetic constructor •() → self::ImplicitScopeTest*
-    : super core::Object::•()
-    ;
-  static method alwaysTrue() → core::bool* {
-    return 1.+(1).==(2);
-  }
-  static method testMain() → dynamic {
-    dynamic a = "foo";
-    dynamic b;
-    if(self::ImplicitScopeTest::alwaysTrue()) {
-      dynamic a = "bar";
-    }
-    else {
-      dynamic b = a;
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    while (!self::ImplicitScopeTest::alwaysTrue()) {
-      dynamic a = "bar";
-      dynamic b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    for (core::int* i = 0; i.<(10); i = i.+(1)) {
-      dynamic a = "bar";
-      dynamic b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    do {
-      dynamic a = "bar";
-      dynamic b = "baz";
-    }
-    while ("black".==("white"))
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-  }
-}
-static method main() → dynamic {
-  self::ImplicitScopeTest::testMain();
-}
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.legacy.transformed.expect
deleted file mode 100644
index 75ce31e..0000000
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class ImplicitScopeTest extends core::Object {
-  synthetic constructor •() → self::ImplicitScopeTest*
-    : super core::Object::•()
-    ;
-  static method alwaysTrue() → core::bool* {
-    return 1.+(1).==(2);
-  }
-  static method testMain() → dynamic {
-    dynamic a = "foo";
-    dynamic b;
-    if(self::ImplicitScopeTest::alwaysTrue()) {
-      dynamic a = "bar";
-    }
-    else {
-      dynamic b = a;
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    while (!self::ImplicitScopeTest::alwaysTrue()) {
-      dynamic a = "bar";
-      dynamic b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    for (core::int* i = 0; i.<(10); i = i.+(1)) {
-      dynamic a = "bar";
-      dynamic b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    do {
-      dynamic a = "bar";
-      dynamic b = "baz";
-    }
-    while ("black".==("white"))
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-  }
-}
-static method main() → dynamic {
-  self::ImplicitScopeTest::testMain();
-}
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.legacy.expect b/pkg/front_end/testcases/general/implicit_this.dart.legacy.expect
deleted file mode 100644
index a2346fc..0000000
--- a/pkg/front_end/testcases/general/implicit_this.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    core::print("Called m");
-  }
-  method testC() → dynamic {
-    this.{self::C::m}();
-  }
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method testD() → dynamic {
-    this.{self::C::m}();
-  }
-}
-static method main() → dynamic {
-  new self::C::•().testC();
-  new self::D::•().testD();
-}
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/implicit_this.dart.legacy.transformed.expect
deleted file mode 100644
index a2346fc..0000000
--- a/pkg/front_end/testcases/general/implicit_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    core::print("Called m");
-  }
-  method testC() → dynamic {
-    this.{self::C::m}();
-  }
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method testD() → dynamic {
-    this.{self::C::m}();
-  }
-}
-static method main() → dynamic {
-  new self::C::•().testC();
-  new self::D::•().testD();
-}
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.legacy.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.legacy.expect
deleted file mode 100644
index ffb8e82..0000000
--- a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/interface_contravariant_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general/interface_contravariant_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'I'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → self::B::T* {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(core::Object* x) → self::I::T*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.legacy.transformed.expect
deleted file mode 100644
index ffb8e82..0000000
--- a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/interface_contravariant_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general/interface_contravariant_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'I'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → self::B::T* {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(core::Object* x) → self::I::T*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.legacy.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.legacy.expect
deleted file mode 100644
index 7cca990..0000000
--- a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'I'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f((self::B::T*) →* void x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.legacy.transformed.expect
deleted file mode 100644
index 7cca990..0000000
--- a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'I'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f((self::B::T*) →* void x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.legacy.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.legacy.expect
deleted file mode 100644
index abbdcd7..0000000
--- a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:13:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class B<T> implements A<F<T>> {
-//       ^
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'A'.
-// abstract class I<T> implements A<F<T>> {
-//                ^
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:21:16: Error: Found unsupported uses of 'T' in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:21:16: Error: Found unsupported uses of 'T' in supertype 'I'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::A::T* x, core::int* y) → void;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f((self::B::T*) →* void x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.legacy.transformed.expect
deleted file mode 100644
index abbdcd7..0000000
--- a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:13:7: Error: Found unsupported uses of 'T' in supertype 'A'.
-// class B<T> implements A<F<T>> {
-//       ^
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:17:16: Error: Found unsupported uses of 'T' in supertype 'A'.
-// abstract class I<T> implements A<F<T>> {
-//                ^
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:21:16: Error: Found unsupported uses of 'T' in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart:21:16: Error: Found unsupported uses of 'T' in supertype 'I'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::A::T* x, core::int* y) → void;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f((self::B::T*) →* void x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.legacy.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.legacy.expect
deleted file mode 100644
index 1b30143..0000000
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(core::int* i) → core::String*
-    return "";
-}
-static method test(core::int* i, core::String* s, self::A* a) → dynamic {
-  i = 1;
-  i = s;
-  i.==(null) ? i = 1 : null;
-  i.==(null) ? i = s : null;
-  a = new self::A::•();
-  a = a.+(1);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.legacy.transformed.expect
deleted file mode 100644
index 1b30143..0000000
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(core::int* i) → core::String*
-    return "";
-}
-static method test(core::int* i, core::String* s, self::A* a) → dynamic {
-  i = 1;
-  i = s;
-  i.==(null) ? i = 1 : null;
-  i.==(null) ? i = s : null;
-  a = new self::A::•();
-  a = a.+(1);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.legacy.expect b/pkg/front_end/testcases/general/invalid_cast.dart.legacy.expect
deleted file mode 100644
index 7ab5c3f..0000000
--- a/pkg/front_end/testcases/general/invalid_cast.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::fact2];
-  constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  constructor nonFact() → self::C*
-    : super core::Object::•()
-    ;
-  constructor nonFact2() → self::C*
-    : this self::C::nonFact()
-    ;
-  static factory fact() → self::C*
-    return null;
-  static factory fact2() → self::C*
-    let dynamic #redirecting_factory = self::D::• in invalid-expression;
-  static method staticFunction(core::int* i) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static method topLevelFunction(core::int* i) → void {}
-static method bad() → dynamic {
-  function localFunction(core::int* i) → void {}
-  core::List<core::int*>* a = <core::Object*>[];
-  core::Map<core::int*, core::String*>* b = <core::Object*, core::String*>{};
-  core::Map<core::int*, core::String*>* c = <core::int*, core::Object*>{};
-  (core::Object*) →* core::int* d = (core::int* i) → dynamic => i;
-  self::D* e = self::C::fact();
-  self::D* f = new self::D::•();
-  self::D* g = new self::C::nonFact();
-  self::D* h = new self::C::nonFact2();
-  (core::Object*) →* void i = #C1;
-  (core::Object*) →* void j = #C2;
-  (core::Object*) →* void k = localFunction;
-}
-static method ok() → dynamic {
-  function localFunction(core::int* i) → void {}
-  core::List<core::int*>* a = <core::int*>[];
-  core::Map<core::int*, core::String*>* b = <core::int*, core::String*>{};
-  core::Map<core::int*, core::String*>* c = <core::int*, core::String*>{};
-  (core::int*) →* core::int* d = (core::int* i) → dynamic => i;
-  self::D* e = self::C::fact();
-  self::D* f = new self::D::•();
-  self::C* g = new self::C::nonFact();
-  self::C* h = new self::C::nonFact2();
-  (core::int*) →* void i = #C1;
-  (core::int*) →* void j = #C2;
-  (core::int*) →* void k = localFunction;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::C::staticFunction
-  #C2 = tearoff self::topLevelFunction
-}
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/invalid_cast.dart.legacy.transformed.expect
deleted file mode 100644
index 7ab5c3f..0000000
--- a/pkg/front_end/testcases/general/invalid_cast.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::fact2];
-  constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  constructor nonFact() → self::C*
-    : super core::Object::•()
-    ;
-  constructor nonFact2() → self::C*
-    : this self::C::nonFact()
-    ;
-  static factory fact() → self::C*
-    return null;
-  static factory fact2() → self::C*
-    let dynamic #redirecting_factory = self::D::• in invalid-expression;
-  static method staticFunction(core::int* i) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static method topLevelFunction(core::int* i) → void {}
-static method bad() → dynamic {
-  function localFunction(core::int* i) → void {}
-  core::List<core::int*>* a = <core::Object*>[];
-  core::Map<core::int*, core::String*>* b = <core::Object*, core::String*>{};
-  core::Map<core::int*, core::String*>* c = <core::int*, core::Object*>{};
-  (core::Object*) →* core::int* d = (core::int* i) → dynamic => i;
-  self::D* e = self::C::fact();
-  self::D* f = new self::D::•();
-  self::D* g = new self::C::nonFact();
-  self::D* h = new self::C::nonFact2();
-  (core::Object*) →* void i = #C1;
-  (core::Object*) →* void j = #C2;
-  (core::Object*) →* void k = localFunction;
-}
-static method ok() → dynamic {
-  function localFunction(core::int* i) → void {}
-  core::List<core::int*>* a = <core::int*>[];
-  core::Map<core::int*, core::String*>* b = <core::int*, core::String*>{};
-  core::Map<core::int*, core::String*>* c = <core::int*, core::String*>{};
-  (core::int*) →* core::int* d = (core::int* i) → dynamic => i;
-  self::D* e = self::C::fact();
-  self::D* f = new self::D::•();
-  self::C* g = new self::C::nonFact();
-  self::C* h = new self::C::nonFact2();
-  (core::int*) →* void i = #C1;
-  (core::int*) →* void j = #C2;
-  (core::int*) →* void k = localFunction;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::C::staticFunction
-  #C2 = tearoff self::topLevelFunction
-}
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.legacy.expect b/pkg/front_end/testcases/general/invalid_type.dart.legacy.expect
deleted file mode 100644
index 9a71f0b..0000000
--- a/pkg/front_end/testcases/general/invalid_type.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/invalid_type.dart:7:5: Error: Expected identifier, but got 'this'.
-//     this.bar();
-//     ^^^^
-//
-// pkg/front_end/testcases/general/invalid_type.dart:12:12: Warning: 'Missing' isn't a type.
-//   (null as Missing).bar();
-//            ^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method foo() → dynamic {
-    invalid-expression "pkg/front_end/testcases/general/invalid_type.dart:7:5: Error: Expected identifier, but got 'this'.
-    this.bar();
-    ^^^^".bar();
-  }
-}
-static method test() → dynamic {
-  (null as invalid-type).bar();
-  null.bar();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/invalid_type.dart.legacy.transformed.expect
deleted file mode 100644
index 9a71f0b..0000000
--- a/pkg/front_end/testcases/general/invalid_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/invalid_type.dart:7:5: Error: Expected identifier, but got 'this'.
-//     this.bar();
-//     ^^^^
-//
-// pkg/front_end/testcases/general/invalid_type.dart:12:12: Warning: 'Missing' isn't a type.
-//   (null as Missing).bar();
-//            ^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method foo() → dynamic {
-    invalid-expression "pkg/front_end/testcases/general/invalid_type.dart:7:5: Error: Expected identifier, but got 'this'.
-    this.bar();
-    ^^^^".bar();
-  }
-}
-static method test() → dynamic {
-  (null as invalid-type).bar();
-  null.bar();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invocations.dart.legacy.expect b/pkg/front_end/testcases/general/invocations.dart.legacy.expect
deleted file mode 100644
index e0da4f7..0000000
--- a/pkg/front_end/testcases/general/invocations.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#z, 32, null, <dynamic>["Hello, World!"].toList(growable: false), <dynamic, dynamic>{}));
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#z, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#y, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#x, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-  1.+(core::print("Hello, World!")).+(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#z, 32, null, <dynamic>["Hello, World!"].toList(growable: false), <dynamic, dynamic>{}))).+(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#z, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}))).+(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#y, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}))).+(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#x, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{})));
-}
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.legacy.expect b/pkg/front_end/testcases/general/issue129167943.dart.legacy.expect
deleted file mode 100644
index e6ff2a3..0000000
--- a/pkg/front_end/testcases/general/issue129167943.dart.legacy.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method foo(core::num* x) → void;
-}
-abstract class C extends core::Object implements self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::int* x) → void;
-}
-abstract class D1 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D1*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::int* x) → void;
-}
-class D2 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D2*
-    : super core::Object::•()
-    ;
-  method foo(covariant core::int* x) → void {}
-}
-abstract class D3 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D3*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub method foo(covariant core::num* x) → void;
-}
-abstract class D4 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D4*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::int* x) → void;
-}
-abstract class D5 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D5*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::num* x) → void;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract set foo(core::num* x) → void;
-}
-abstract class G extends core::Object implements self::E {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::int* x) → void;
-}
-abstract class H1 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H1*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::int* x) → void;
-}
-class H2 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H2*
-    : super core::Object::•()
-    ;
-  set foo(covariant core::int* x) → void {}
-}
-abstract class H3 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H3*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub set foo(covariant core::num* x) → void;
-}
-abstract class H4 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H4*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::int* x) → void;
-}
-abstract class H5 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H5*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::num* x) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue129167943.dart.legacy.transformed.expect
deleted file mode 100644
index e6ff2a3..0000000
--- a/pkg/front_end/testcases/general/issue129167943.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method foo(core::num* x) → void;
-}
-abstract class C extends core::Object implements self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::int* x) → void;
-}
-abstract class D1 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D1*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::int* x) → void;
-}
-class D2 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D2*
-    : super core::Object::•()
-    ;
-  method foo(covariant core::int* x) → void {}
-}
-abstract class D3 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D3*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub method foo(covariant core::num* x) → void;
-}
-abstract class D4 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D4*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::int* x) → void;
-}
-abstract class D5 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D5*
-    : super core::Object::•()
-    ;
-  abstract method foo(covariant core::num* x) → void;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract set foo(core::num* x) → void;
-}
-abstract class G extends core::Object implements self::E {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::int* x) → void;
-}
-abstract class H1 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H1*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::int* x) → void;
-}
-class H2 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H2*
-    : super core::Object::•()
-    ;
-  set foo(covariant core::int* x) → void {}
-}
-abstract class H3 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H3*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub set foo(covariant core::num* x) → void;
-}
-abstract class H4 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H4*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::int* x) → void;
-}
-abstract class H5 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H5*
-    : super core::Object::•()
-    ;
-  abstract set foo(covariant core::num* x) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34515.dart.legacy.expect b/pkg/front_end/testcases/general/issue34515.dart.legacy.expect
deleted file mode 100644
index b075d04..0000000
--- a/pkg/front_end/testcases/general/issue34515.dart.legacy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue34515.dart:9:3: Warning: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-//   ImportedClass(1);
-//   ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/issue34515.dart:10:3: Warning: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-//   ImportedClass("a");
-//   ^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue34515_lib1.dart";
-import "org-dartlang-testcase:///issue34515_lib2.dart";
-
-static method test() → void {
-  let final core::Object* #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-  ImportedClass(1);
-  ^^^^^^^^^^^^^";
-  let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-  ImportedClass(\"a\");
-  ^^^^^^^^^^^^^";
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::int* a) → self2::ImportedClass*
-    : super core::Object::•()
-    ;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::String* a) → self3::ImportedClass*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/general/issue34515.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue34515.dart.legacy.transformed.expect
deleted file mode 100644
index b075d04..0000000
--- a/pkg/front_end/testcases/general/issue34515.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue34515.dart:9:3: Warning: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-//   ImportedClass(1);
-//   ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/issue34515.dart:10:3: Warning: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-//   ImportedClass("a");
-//   ^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue34515_lib1.dart";
-import "org-dartlang-testcase:///issue34515_lib2.dart";
-
-static method test() → void {
-  let final core::Object* #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-  ImportedClass(1);
-  ^^^^^^^^^^^^^";
-  let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
-  ImportedClass(\"a\");
-  ^^^^^^^^^^^^^";
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::int* a) → self2::ImportedClass*
-    : super core::Object::•()
-    ;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::String* a) → self3::ImportedClass*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.legacy.expect b/pkg/front_end/testcases/general/issue34899.dart.legacy.expect
deleted file mode 100644
index 92b3948..0000000
--- a/pkg/front_end/testcases/general/issue34899.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-class Foo<T extends core::Object* = dynamic> extends core::Object {
-  final field () →* asy::Future<dynamic>* quux;
-  generic-covariant-impl field self::Foo::T* t;
-  constructor •(() →* asy::Future<dynamic>* quux, self::Foo::T* t) → self::Foo<self::Foo::T*>*
-    : self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
-    ;
-  method call() → asy::Future<self::Foo::T*>*
-    return this.quux().then<self::Foo::T*>((dynamic _) → dynamic => this.{self::Foo::t});
-}
-class Bar extends core::Object {
-  field self::Foo<self::Baz*>* qux = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  method quuz() → asy::Future<void>*
-    return this.qux().then((dynamic baz) → dynamic => this.{self::Bar::corge}(baz)).then((dynamic grault) → dynamic => this.{self::Bar::garply}(grault));
-  method corge(self::Baz* baz) → self::Grault*
-    return null;
-  method garply(self::Grault* grault) → void {}
-}
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    : super core::Object::•()
-    ;
-}
-class Grault extends core::Object {
-  synthetic constructor •() → self::Grault*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue34899.dart.legacy.transformed.expect
deleted file mode 100644
index 92b3948..0000000
--- a/pkg/front_end/testcases/general/issue34899.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-class Foo<T extends core::Object* = dynamic> extends core::Object {
-  final field () →* asy::Future<dynamic>* quux;
-  generic-covariant-impl field self::Foo::T* t;
-  constructor •(() →* asy::Future<dynamic>* quux, self::Foo::T* t) → self::Foo<self::Foo::T*>*
-    : self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
-    ;
-  method call() → asy::Future<self::Foo::T*>*
-    return this.quux().then<self::Foo::T*>((dynamic _) → dynamic => this.{self::Foo::t});
-}
-class Bar extends core::Object {
-  field self::Foo<self::Baz*>* qux = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  method quuz() → asy::Future<void>*
-    return this.qux().then((dynamic baz) → dynamic => this.{self::Bar::corge}(baz)).then((dynamic grault) → dynamic => this.{self::Bar::garply}(grault));
-  method corge(self::Baz* baz) → self::Grault*
-    return null;
-  method garply(self::Grault* grault) → void {}
-}
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    : super core::Object::•()
-    ;
-}
-class Grault extends core::Object {
-  synthetic constructor •() → self::Grault*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.legacy.expect b/pkg/front_end/testcases/general/issue35875.dart.legacy.expect
deleted file mode 100644
index 5d3fe2e..0000000
--- a/pkg/front_end/testcases/general/issue35875.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  constructor •(core::int* a) → self::A*
-    : super core::Object::•() {
-    this.{self::A::a} = a;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue35875.dart.legacy.transformed.expect
deleted file mode 100644
index 5d3fe2e..0000000
--- a/pkg/front_end/testcases/general/issue35875.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  constructor •(core::int* a) → self::A*
-    : super core::Object::•() {
-    this.{self::A::a} = a;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.legacy.expect b/pkg/front_end/testcases/general/issue37027.dart.legacy.expect
deleted file mode 100644
index 5d78861..0000000
--- a/pkg/front_end/testcases/general/issue37027.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue37027.dart:6:46: Error: Unexpected token 'if'.
-//   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/issue37027.dart:6:27: Error: Unexpected token 'for'.
-//   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
-//                           ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field core::Set<core::int*>* s;
-  constructor •(core::List<core::int*>* ell) → self::C*
-    : self::C::s = <dynamic, dynamic>{}, super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue37027.dart.legacy.transformed.expect
deleted file mode 100644
index 5d78861..0000000
--- a/pkg/front_end/testcases/general/issue37027.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue37027.dart:6:46: Error: Unexpected token 'if'.
-//   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
-//                                              ^^
-//
-// pkg/front_end/testcases/general/issue37027.dart:6:27: Error: Unexpected token 'for'.
-//   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
-//                           ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field core::Set<core::int*>* s;
-  constructor •(core::List<core::int*>* ell) → self::C*
-    : self::C::s = <dynamic, dynamic>{}, super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.legacy.expect b/pkg/front_end/testcases/general/issue37381.dart.legacy.expect
deleted file mode 100644
index 3bea25f..0000000
--- a/pkg/front_end/testcases/general/issue37381.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
-    return f.call<self::A::X*>(this);
-}
-static method main() → dynamic {
-  self::A<core::num*>* a = new self::A::•<core::int*>();
-  a.f(<X extends core::Object* = dynamic>(dynamic _) → dynamic => 42);
-}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue37381.dart.legacy.transformed.expect
deleted file mode 100644
index 3bea25f..0000000
--- a/pkg/front_end/testcases/general/issue37381.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
-    return f.call<self::A::X*>(this);
-}
-static method main() → dynamic {
-  self::A<core::num*>* a = new self::A::•<core::int*>();
-  a.f(<X extends core::Object* = dynamic>(dynamic _) → dynamic => 42);
-}
diff --git a/pkg/front_end/testcases/general/issue37776.dart.legacy.expect b/pkg/front_end/testcases/general/issue37776.dart.legacy.expect
deleted file mode 100644
index 860f0b8..0000000
--- a/pkg/front_end/testcases/general/issue37776.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue37776.dart:11:7: Error: 'X' is already declared in this scope.
-// class X {
-//       ^
-// pkg/front_end/testcases/general/issue37776.dart:7:7: Context: Previous declaration of 'X'.
-// class X {
-//       ^
-//
-// pkg/front_end/testcases/general/issue37776.dart:16:9: Warning: Method not found: 'X.foo'.
-//   const X.foo();
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class X#1 extends core::Object {
-  const constructor foo() → self::X#1*
-    : super core::Object::•()
-    ;
-}
-class X extends core::Object {
-  const constructor foo() → self::X*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  invalid-expression "pkg/front_end/testcases/general/issue37776.dart:16:9: Error: Method not found: 'X.foo'.
-  const X.foo();
-        ^^^";
-}
diff --git a/pkg/front_end/testcases/general/issue37776.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/issue37776.dart.legacy.transformed.expect
deleted file mode 100644
index 860f0b8..0000000
--- a/pkg/front_end/testcases/general/issue37776.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue37776.dart:11:7: Error: 'X' is already declared in this scope.
-// class X {
-//       ^
-// pkg/front_end/testcases/general/issue37776.dart:7:7: Context: Previous declaration of 'X'.
-// class X {
-//       ^
-//
-// pkg/front_end/testcases/general/issue37776.dart:16:9: Warning: Method not found: 'X.foo'.
-//   const X.foo();
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class X#1 extends core::Object {
-  const constructor foo() → self::X#1*
-    : super core::Object::•()
-    ;
-}
-class X extends core::Object {
-  const constructor foo() → self::X*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  invalid-expression "pkg/front_end/testcases/general/issue37776.dart:16:9: Error: Method not found: 'X.foo'.
-  const X.foo();
-        ^^^";
-}
diff --git a/pkg/front_end/testcases/general/literals.dart.legacy.expect b/pkg/front_end/testcases/general/literals.dart.legacy.expect
deleted file mode 100644
index 5c5acec..0000000
--- a/pkg/front_end/testcases/general/literals.dart.legacy.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method testString() → dynamic {
-  core::print("a");
-}
-static method testInt() → dynamic {
-  core::print(1);
-}
-static method testBool() → dynamic {
-  core::print(true);
-  core::print(false);
-}
-static method testDouble() → dynamic {
-  core::print(1.0);
-}
-static method testNull() → dynamic {
-  core::print(null);
-}
-static method testList() → dynamic {
-  core::print(<dynamic>[]);
-  core::print(<dynamic>["a", "b"]);
-}
-static method testMap() → dynamic {
-  core::print(<dynamic, dynamic>{});
-  core::print(<dynamic, dynamic>{"a": "b"});
-}
-static method testSymbol() → dynamic {
-  core::print(#C1);
-  core::print(#C2);
-  core::print(#C3);
-}
-static method main() → dynamic {
-  self::testString();
-  self::testInt();
-  self::testBool();
-  self::testDouble();
-  self::testNull();
-  self::testList();
-  self::testMap();
-  self::testSymbol();
-}
-
-constants  {
-  #C1 = #fisk
-  #C2 = #org-dartlang-testcase:///literals.dart::_fisk
-  #C3 = #fisk.hest.ko
-}
diff --git a/pkg/front_end/testcases/general/literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/literals.dart.legacy.transformed.expect
deleted file mode 100644
index 5c5acec..0000000
--- a/pkg/front_end/testcases/general/literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method testString() → dynamic {
-  core::print("a");
-}
-static method testInt() → dynamic {
-  core::print(1);
-}
-static method testBool() → dynamic {
-  core::print(true);
-  core::print(false);
-}
-static method testDouble() → dynamic {
-  core::print(1.0);
-}
-static method testNull() → dynamic {
-  core::print(null);
-}
-static method testList() → dynamic {
-  core::print(<dynamic>[]);
-  core::print(<dynamic>["a", "b"]);
-}
-static method testMap() → dynamic {
-  core::print(<dynamic, dynamic>{});
-  core::print(<dynamic, dynamic>{"a": "b"});
-}
-static method testSymbol() → dynamic {
-  core::print(#C1);
-  core::print(#C2);
-  core::print(#C3);
-}
-static method main() → dynamic {
-  self::testString();
-  self::testInt();
-  self::testBool();
-  self::testDouble();
-  self::testNull();
-  self::testList();
-  self::testMap();
-  self::testSymbol();
-}
-
-constants  {
-  #C1 = #fisk
-  #C2 = #org-dartlang-testcase:///literals.dart::_fisk
-  #C3 = #fisk.hest.ko
-}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.legacy.expect b/pkg/front_end/testcases/general/local_generic_function.dart.legacy.expect
deleted file mode 100644
index 27db2cb..0000000
--- a/pkg/front_end/testcases/general/local_generic_function.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
-    return l.[](0);
-  dynamic x = f.call(<dynamic>[0]);
-}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/local_generic_function.dart.legacy.transformed.expect
deleted file mode 100644
index 27db2cb..0000000
--- a/pkg/front_end/testcases/general/local_generic_function.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
-    return l.[](0);
-  dynamic x = f.call(<dynamic>[0]);
-}
diff --git a/pkg/front_end/testcases/general/magic_const.dart.legacy.expect b/pkg/front_end/testcases/general/magic_const.dart.legacy.expect
deleted file mode 100644
index baa2e58..0000000
--- a/pkg/front_end/testcases/general/magic_const.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general/magic_const.dart:15:39: Error: Can't have a non-constant List literal within a const context.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                                       ^
-// pkg/front_end/testcases/general/magic_const.dart:15:36: Context: While analyzing:
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                                    ^
-//
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/magic_const.dart:18:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-// Try using a constructor or factory that is 'const'.
-//   const NotConstant();
-//         ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Constant extends core::Object {
-  const constructor •() → self::Constant*
-    : super core::Object::•()
-    ;
-}
-class NotConstant extends core::Object {
-  synthetic constructor •() → self::NotConstant*
-    : super core::Object::•()
-    ;
-}
-static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Can't have a non-constant List literal within a const context."}) → dynamic {}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/magic_const.dart:18:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-Try using a constructor or factory that is 'const'.
-  const NotConstant();
-        ^^^^^^^^^^^";
-  new self::Constant::•();
-  core::bool::fromEnvironment("fisk");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Constant {}
-}
diff --git a/pkg/front_end/testcases/general/magic_const.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/magic_const.dart.legacy.transformed.expect
deleted file mode 100644
index baa2e58..0000000
--- a/pkg/front_end/testcases/general/magic_const.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general/magic_const.dart:15:39: Error: Can't have a non-constant List literal within a const context.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                                       ^
-// pkg/front_end/testcases/general/magic_const.dart:15:36: Context: While analyzing:
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                                    ^
-//
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/magic_const.dart:18:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-// Try using a constructor or factory that is 'const'.
-//   const NotConstant();
-//         ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Constant extends core::Object {
-  const constructor •() → self::Constant*
-    : super core::Object::•()
-    ;
-}
-class NotConstant extends core::Object {
-  synthetic constructor •() → self::NotConstant*
-    : super core::Object::•()
-    ;
-}
-static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Can't have a non-constant List literal within a const context."}) → dynamic {}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/magic_const.dart:18:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-Try using a constructor or factory that is 'const'.
-  const NotConstant();
-        ^^^^^^^^^^^";
-  new self::Constant::•();
-  core::bool::fromEnvironment("fisk");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Constant {}
-}
diff --git a/pkg/front_end/testcases/general/many_errors.dart.legacy.expect b/pkg/front_end/testcases/general/many_errors.dart.legacy.expect
deleted file mode 100644
index c5df351..0000000
--- a/pkg/front_end/testcases/general/many_errors.dart.legacy.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/many_errors.dart:8:3: Error: A const constructor can't have a body.
-// Try removing either the 'const' keyword or the body.
-//   const A.named1() sync* {}
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:13:1: Error: An external or native method can't have a body.
-// external foo(String x) {
-// ^^^^^^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: New expression is not a constant expression.
-//   const A.named2() : x = new Object();
-//                          ^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Warning: 'x' is a final instance variable that has already been initialized.
-//   const A.named2() : x = new Object();
-//                        ^
-// pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here.
-//   final x = null;
-//         ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-// Try using a constructor or factory that is 'const'.
-//   const A.named2() : x = new Object();
-//                        ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
-//   const A.named1() sync* {}
-//                          ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
-// external foo(String x) {
-//                        ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
-//   const AbstractClass.id();
-//         ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-// Try using a constructor or factory that is 'const'.
-//   const AbstractClass.id();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field dynamic x = null;
-  constructor named1() → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
-  const A.named1() sync* {}
-                         ^" {}
-  const constructor named2() → self::A*
-    : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-Try using a constructor or factory that is 'const'.
-  const A.named2() : x = new Object();
-                       ^", super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-abstract class AbstractClass extends core::Object {
-  const constructor id() → self::AbstractClass*
-    : super core::Object::•()
-    ;
-}
-external static method foo(core::String* x) → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
-external foo(String x) {
-                       ^";
-  {
-    return x.length;
-  }
-}
-static method m() → dynamic {
-  throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-Try using a constructor or factory that is 'const'.
-  const AbstractClass.id();
-        ^";
-  (let final dynamic #t3 = new self::C::•() in #t3.==(null) ? null : let final dynamic #t4 = #t3.b in #t4.==(null) ? #t3.b = new self::B::•() : #t4).b;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/many_errors.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/many_errors.dart.legacy.transformed.expect
deleted file mode 100644
index c5df351..0000000
--- a/pkg/front_end/testcases/general/many_errors.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/many_errors.dart:8:3: Error: A const constructor can't have a body.
-// Try removing either the 'const' keyword or the body.
-//   const A.named1() sync* {}
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:13:1: Error: An external or native method can't have a body.
-// external foo(String x) {
-// ^^^^^^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: New expression is not a constant expression.
-//   const A.named2() : x = new Object();
-//                          ^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Warning: 'x' is a final instance variable that has already been initialized.
-//   const A.named2() : x = new Object();
-//                        ^
-// pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here.
-//   final x = null;
-//         ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-// Try using a constructor or factory that is 'const'.
-//   const A.named2() : x = new Object();
-//                        ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
-//   const A.named1() sync* {}
-//                          ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
-// external foo(String x) {
-//                        ^
-//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
-//   const AbstractClass.id();
-//         ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-// Try using a constructor or factory that is 'const'.
-//   const AbstractClass.id();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field dynamic x = null;
-  constructor named1() → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
-  const A.named1() sync* {}
-                         ^" {}
-  const constructor named2() → self::A*
-    : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-Try using a constructor or factory that is 'const'.
-  const A.named2() : x = new Object();
-                       ^", super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-abstract class AbstractClass extends core::Object {
-  const constructor id() → self::AbstractClass*
-    : super core::Object::•()
-    ;
-}
-external static method foo(core::String* x) → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
-external foo(String x) {
-                       ^";
-  {
-    return x.length;
-  }
-}
-static method m() → dynamic {
-  throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
-Try using a constructor or factory that is 'const'.
-  const AbstractClass.id();
-        ^";
-  (let final dynamic #t3 = new self::C::•() in #t3.==(null) ? null : let final dynamic #t4 = #t3.b in #t4.==(null) ? #t3.b = new self::B::•() : #t4).b;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/map.dart.legacy.expect b/pkg/front_end/testcases/general/map.dart.legacy.expect
deleted file mode 100644
index c82d4a6..0000000
--- a/pkg/front_end/testcases/general/map.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(core::Map::•<dynamic, dynamic>());
-}
diff --git a/pkg/front_end/testcases/general/map.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/map.dart.legacy.transformed.expect
deleted file mode 100644
index c82d4a6..0000000
--- a/pkg/front_end/testcases/general/map.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(core::Map::•<dynamic, dynamic>());
-}
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.legacy.expect b/pkg/front_end/testcases/general/metadata_enum.dart.legacy.expect
deleted file mode 100644
index 676b355..0000000
--- a/pkg/front_end/testcases/general/metadata_enum.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class E extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = #C11;
-  static const field self::E* E1 = #C4;
-  static const field self::E* E2 = #C7;
-  static const field self::E* E3 = #C10;
-  const constructor •(core::int* index, core::String* _name) → self::E*
-    : self::E::index = index, self::E::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::E::_name};
-}
-static const field dynamic a = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = 0
-  #C3 = "E.E1"
-  #C4 = self::E {index:#C2, _name:#C3}
-  #C5 = 1
-  #C6 = "E.E2"
-  #C7 = self::E {index:#C5, _name:#C6}
-  #C8 = 2
-  #C9 = "E.E3"
-  #C10 = self::E {index:#C8, _name:#C9}
-  #C11 = <self::E*>[#C4, #C7, #C10]
-}
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/metadata_enum.dart.legacy.transformed.expect
deleted file mode 100644
index 676b355..0000000
--- a/pkg/front_end/testcases/general/metadata_enum.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class E extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = #C11;
-  static const field self::E* E1 = #C4;
-  static const field self::E* E2 = #C7;
-  static const field self::E* E3 = #C10;
-  const constructor •(core::int* index, core::String* _name) → self::E*
-    : self::E::index = index, self::E::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::E::_name};
-}
-static const field dynamic a = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = 0
-  #C3 = "E.E1"
-  #C4 = self::E {index:#C2, _name:#C3}
-  #C5 = 1
-  #C6 = "E.E2"
-  #C7 = self::E {index:#C5, _name:#C6}
-  #C8 = 2
-  #C9 = "E.E3"
-  #C10 = self::E {index:#C8, _name:#C9}
-  #C11 = <self::E*>[#C4, #C7, #C10]
-}
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.legacy.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.legacy.expect
deleted file mode 100644
index 2e68abd..0000000
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class C = self::D with self::E {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic a = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.legacy.transformed.expect
deleted file mode 100644
index 5cd5635..0000000
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class C extends self::D implements self::E {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic a = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/micro.dart.legacy.expect b/pkg/front_end/testcases/general/micro.dart.legacy.expect
deleted file mode 100644
index 990c0b7..0000000
--- a/pkg/front_end/testcases/general/micro.dart.legacy.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method instanceMethod() → dynamic {
-    return 123;
-  }
-}
-abstract class ExternalValue extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract method externalInstanceMethod() → self::ExternalValue;
-}
-class Box extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class FinalBox extends core::Object {
-  final field dynamic finalField;
-  constructor •(dynamic finalField) → void
-    : self::FinalBox::finalField = finalField, super core::Object::•()
-    ;
-}
-class SubFinalBox extends self::FinalBox {
-  constructor •(dynamic value) → void
-    : super self::FinalBox::•(value)
-    ;
-}
-class DynamicReceiver1 extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic {}
-}
-class DynamicReceiver2 extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic {}
-}
-static method staticMethod() → dynamic {
-  return "sdfg";
-}
-external static method externalStatic() → core::bool;
-external static method createBar() → self::Bar;
-static method stringArgument(dynamic x) → dynamic {}
-static method intArgument(dynamic x) → dynamic {}
-static method makeDynamicCall(dynamic receiver) → void {
-  receiver.dynamicallyCalled("sdfg");
-}
-static method main() → dynamic {
-  dynamic x = self::staticMethod();
-  dynamic y = new self::Foo::•().instanceMethod();
-  dynamic z = self::externalStatic();
-  dynamic w = self::createBar().externalInstanceMethod();
-  self::stringArgument("sdfg");
-  self::intArgument(42);
-  dynamic box = new self::Box::•();
-  box.field = "sdfg";
-  dynamic a = box.field;
-  dynamic finalBox = new self::FinalBox::•("dfg");
-  dynamic b = finalBox.finalField;
-  dynamic subBox = new self::SubFinalBox::•("dfg");
-  dynamic c = subBox.finalField;
-  self::makeDynamicCall(new self::DynamicReceiver1::•());
-  self::makeDynamicCall(new self::DynamicReceiver2::•());
-  dynamic list = <dynamic>["string"];
-  dynamic d = list.[](0);
-}
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.legacy.expect b/pkg/front_end/testcases/general/minimum_int.dart.legacy.expect
deleted file mode 100644
index 4216458..0000000
--- a/pkg/front_end/testcases/general/minimum_int.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  return core::print(-9223372036854775808.unary-());
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/minimum_int.dart.legacy.transformed.expect
deleted file mode 100644
index 4216458..0000000
--- a/pkg/front_end/testcases/general/minimum_int.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  return core::print(-9223372036854775808.unary-());
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.legacy.expect b/pkg/front_end/testcases/general/missing_constructor.dart.legacy.expect
deleted file mode 100644
index 6bdd6a7..0000000
--- a/pkg/front_end/testcases/general/missing_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:10:11: Warning: Superclass has no constructor named 'Super'.
-//   Sub() : super();
-//           ^^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:11:15: Warning: Superclass has no constructor named 'Super.foo'.
-//   Sub.foo() : super.foo();
-//               ^^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:15:15: Warning: Couldn't find constructor 'Bad'.
-//   Bad.foo() : this();
-//               ^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:16:15: Warning: Couldn't find constructor 'Bad.baz'.
-//   Bad.bar() : this.baz();
-//               ^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:22:24: Warning: Superclass has no constructor named 'Super'.
-//   MixinApplication() : super();
-//                        ^^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:23:28: Warning: Superclass has no constructor named 'Super.foo'.
-//   MixinApplication.foo() : super.foo();
-//                            ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  constructor _() → self::Super*
-    : super core::Object::•()
-    ;
-}
-class Sub extends self::Super {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  constructor foo() → self::Sub*
-    : final dynamic #t2 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-}
-class Bad extends core::Object {
-  constructor foo() → self::Bad*
-    : final dynamic #t3 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  constructor bar() → self::Bad*
-    : final dynamic #t4 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-abstract class _MixinApplication&Super&M = self::Super with self::M {
-  synthetic constructor _() → self::_MixinApplication&Super&M*
-    : super self::Super::_()
-    ;
-}
-class MixinApplication extends self::_MixinApplication&Super&M {
-  constructor •() → self::MixinApplication*
-    : final dynamic #t5 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  constructor foo() → self::MixinApplication*
-    : final dynamic #t6 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #Super
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #Super.foo
-  #C6 = #Bad
-  #C7 = #Bad.baz
-}
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/missing_constructor.dart.legacy.transformed.expect
deleted file mode 100644
index 61f28dd..0000000
--- a/pkg/front_end/testcases/general/missing_constructor.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:10:11: Warning: Superclass has no constructor named 'Super'.
-//   Sub() : super();
-//           ^^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:11:15: Warning: Superclass has no constructor named 'Super.foo'.
-//   Sub.foo() : super.foo();
-//               ^^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:15:15: Warning: Couldn't find constructor 'Bad'.
-//   Bad.foo() : this();
-//               ^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:16:15: Warning: Couldn't find constructor 'Bad.baz'.
-//   Bad.bar() : this.baz();
-//               ^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:22:24: Warning: Superclass has no constructor named 'Super'.
-//   MixinApplication() : super();
-//                        ^^^^^
-//
-// pkg/front_end/testcases/general/missing_constructor.dart:23:28: Warning: Superclass has no constructor named 'Super.foo'.
-//   MixinApplication.foo() : super.foo();
-//                            ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  constructor _() → self::Super*
-    : super core::Object::•()
-    ;
-}
-class Sub extends self::Super {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  constructor foo() → self::Sub*
-    : final dynamic #t2 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-}
-class Bad extends core::Object {
-  constructor foo() → self::Bad*
-    : final dynamic #t3 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  constructor bar() → self::Bad*
-    : final dynamic #t4 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-abstract class _MixinApplication&Super&M extends self::Super implements self::M {
-  synthetic constructor _() → self::_MixinApplication&Super&M*
-    : super self::Super::_()
-    ;
-}
-class MixinApplication extends self::_MixinApplication&Super&M {
-  constructor •() → self::MixinApplication*
-    : final dynamic #t5 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-  constructor foo() → self::MixinApplication*
-    : final dynamic #t6 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #Super
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #Super.foo
-  #C6 = #Bad
-  #C7 = #Bad.baz
-}
diff --git a/pkg/front_end/testcases/general/mixin.dart.legacy.expect b/pkg/front_end/testcases/general/mixin.dart.legacy.expect
deleted file mode 100644
index 535d64d1c..0000000
--- a/pkg/front_end/testcases/general/mixin.dart.legacy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _B&Object&M1 = core::Object with self::M1 {
-  const synthetic constructor •() → self::_B&Object&M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _B&Object&M1&M2 = self::_B&Object&M1 with self::M2 {
-  const synthetic constructor •() → self::_B&Object&M1&M2*
-    : super self::_B&Object&M1::•()
-    ;
-}
-class B extends self::_B&Object&M1&M2 {
-  constructor •(dynamic value) → self::B*
-    : super self::_B&Object&M1&M2::•()
-    ;
-}
-abstract class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M1");
-}
-abstract class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-}
-abstract class _C&Object&M1 = core::Object with self::M1 {
-  const synthetic constructor •() → self::_C&Object&M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 {
-  const synthetic constructor •() → self::_C&Object&M1&M2*
-    : super self::_C&Object&M1::•()
-    ;
-}
-class C extends self::_C&Object&M1&M2 {
-  constructor •(dynamic value) → self::C*
-    : super self::_C&Object&M1&M2::•()
-    ;
-}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G1<self::G1::T*>*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print(self::G1::T*);
-}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> = core::Object with self::G1<self::_D&Object&G1::S*> {
-  const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
-    : super core::Object::•()
-    ;
-}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
-  synthetic constructor •() → self::D<self::D::S*>*
-    : super self::_D&Object&G1::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•(null).m();
-  new self::C::•(null).m();
-  new self::D::•<dynamic>().m();
-  new self::D::•<core::int*>().m();
-  new self::D::•<core::List<core::int*>*>().m();
-}
diff --git a/pkg/front_end/testcases/general/mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin.dart.legacy.transformed.expect
deleted file mode 100644
index e06e86b..0000000
--- a/pkg/front_end/testcases/general/mixin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,82 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _B&Object&M1 extends core::Object implements self::M1 {
-  const synthetic constructor •() → self::_B&Object&M1*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M1");
-}
-abstract class _B&Object&M1&M2 extends self::_B&Object&M1 implements self::M2 {
-  const synthetic constructor •() → self::_B&Object&M1&M2*
-    : super self::_B&Object&M1::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-}
-class B extends self::_B&Object&M1&M2 {
-  constructor •(dynamic value) → self::B*
-    : super self::_B&Object&M1&M2::•()
-    ;
-}
-abstract class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M1");
-}
-abstract class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-}
-abstract class _C&Object&M1 extends core::Object implements self::M1 {
-  const synthetic constructor •() → self::_C&Object&M1*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M1");
-}
-abstract class _C&Object&M1&M2 extends self::_C&Object&M1 implements self::M2 {
-  const synthetic constructor •() → self::_C&Object&M1&M2*
-    : super self::_C&Object&M1::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-}
-class C extends self::_C&Object&M1&M2 {
-  constructor •(dynamic value) → self::C*
-    : super self::_C&Object&M1&M2::•()
-    ;
-}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G1<self::G1::T*>*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print(self::G1::T*);
-}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> extends core::Object implements self::G1<self::_D&Object&G1::S*> {
-  const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print(self::_D&Object&G1::S*);
-}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
-  synthetic constructor •() → self::D<self::D::S*>*
-    : super self::_D&Object&G1::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•(null).m();
-  new self::C::•(null).m();
-  new self::D::•<dynamic>().m();
-  new self::D::•<core::int*>().m();
-  new self::D::•<core::List<core::int*>*>().m();
-}
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.legacy.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.legacy.expect
deleted file mode 100644
index e49c255..0000000
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.legacy.expect
+++ /dev/null
@@ -1,351 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:21:7: Context: Override was introduced in the mixin application class 'A0'.
-// class A0 = S with M;
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:22:7: Context: Override was introduced in the mixin application class 'A1'.
-// class A1 = S with M1, M;
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:23:7: Context: Override was introduced in the mixin application class 'A2'.
-// class A2 = S with M1, M2, M;
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:25:7: Context: Override was introduced when the mixin 'M' was applied to 'S'.
-// class A0X = S with M, MX;
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:26:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1'.
-// class A1X = S with M1, M, MX;
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:27:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1, M2'.
-// class A2X = S with M1, M2, M, MX;
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:29:7: Context: Override was introduced when the mixin 'M' was applied to 'S'.
-// class B0 extends S with M {}
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:31:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1'.
-// class B1 extends S with M1, M {}
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:33:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1, M2'.
-// class B2 extends S with M1, M2, M {}
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:35:7: Context: Override was introduced when the mixin 'M' was applied to 'S'.
-// class B0X extends S with M, MX {}
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:37:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1'.
-// class B1X extends S with M1, M, MX {}
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:39:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1, M2'.
-// class B2X extends S with M1, M2, M, MX {}
-//       ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class S extends core::Object {
-  synthetic constructor •() → self::S*
-    : super core::Object::•()
-    ;
-  method foo([dynamic x = #C1]) → dynamic {}
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-}
-class MX extends core::Object {
-  synthetic constructor •() → self::MX*
-    : super core::Object::•()
-    ;
-}
-class A0 = self::S with self::M {
-  synthetic constructor •() → self::A0*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _A1&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_A1&S&M1*
-    : super self::S::•()
-    ;
-}
-class A1 = self::_A1&S&M1 with self::M {
-  synthetic constructor •() → self::A1*
-    : super self::_A1&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _A2&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_A2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 {
-  synthetic constructor •() → self::_A2&S&M1&M2*
-    : super self::_A2&S&M1::•()
-    ;
-}
-class A2 = self::_A2&S&M1&M2 with self::M {
-  synthetic constructor •() → self::A2*
-    : super self::_A2&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _A0X&S&M = self::S with self::M {
-  synthetic constructor •() → self::_A0X&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class A0X = self::_A0X&S&M with self::MX {
-  synthetic constructor •() → self::A0X*
-    : super self::_A0X&S&M::•()
-    ;
-}
-abstract class _A1X&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_A1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M {
-  synthetic constructor •() → self::_A1X&S&M1&M*
-    : super self::_A1X&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class A1X = self::_A1X&S&M1&M with self::MX {
-  synthetic constructor •() → self::A1X*
-    : super self::_A1X&S&M1&M::•()
-    ;
-}
-abstract class _A2X&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_A2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 {
-  synthetic constructor •() → self::_A2X&S&M1&M2*
-    : super self::_A2X&S&M1::•()
-    ;
-}
-abstract class _A2X&S&M1&M2&M = self::_A2X&S&M1&M2 with self::M {
-  synthetic constructor •() → self::_A2X&S&M1&M2&M*
-    : super self::_A2X&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class A2X = self::_A2X&S&M1&M2&M with self::MX {
-  synthetic constructor •() → self::A2X*
-    : super self::_A2X&S&M1&M2&M::•()
-    ;
-}
-abstract class _B0&S&M = self::S with self::M {
-  synthetic constructor •() → self::_B0&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class B0 extends self::_B0&S&M {
-  synthetic constructor •() → self::B0*
-    : super self::_B0&S&M::•()
-    ;
-}
-abstract class _B1&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_B1&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M {
-  synthetic constructor •() → self::_B1&S&M1&M*
-    : super self::_B1&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class B1 extends self::_B1&S&M1&M {
-  synthetic constructor •() → self::B1*
-    : super self::_B1&S&M1&M::•()
-    ;
-}
-abstract class _B2&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_B2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 {
-  synthetic constructor •() → self::_B2&S&M1&M2*
-    : super self::_B2&S&M1::•()
-    ;
-}
-abstract class _B2&S&M1&M2&M = self::_B2&S&M1&M2 with self::M {
-  synthetic constructor •() → self::_B2&S&M1&M2&M*
-    : super self::_B2&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class B2 extends self::_B2&S&M1&M2&M {
-  synthetic constructor •() → self::B2*
-    : super self::_B2&S&M1&M2&M::•()
-    ;
-}
-abstract class _B0X&S&M = self::S with self::M {
-  synthetic constructor •() → self::_B0X&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _B0X&S&M&MX = self::_B0X&S&M with self::MX {
-  synthetic constructor •() → self::_B0X&S&M&MX*
-    : super self::_B0X&S&M::•()
-    ;
-}
-class B0X extends self::_B0X&S&M&MX {
-  synthetic constructor •() → self::B0X*
-    : super self::_B0X&S&M&MX::•()
-    ;
-}
-abstract class _B1X&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_B1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M {
-  synthetic constructor •() → self::_B1X&S&M1&M*
-    : super self::_B1X&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX {
-  synthetic constructor •() → self::_B1X&S&M1&M&MX*
-    : super self::_B1X&S&M1&M::•()
-    ;
-}
-class B1X extends self::_B1X&S&M1&M&MX {
-  synthetic constructor •() → self::B1X*
-    : super self::_B1X&S&M1&M&MX::•()
-    ;
-}
-abstract class _B2X&S&M1 = self::S with self::M1 {
-  synthetic constructor •() → self::_B2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 {
-  synthetic constructor •() → self::_B2X&S&M1&M2*
-    : super self::_B2X&S&M1::•()
-    ;
-}
-abstract class _B2X&S&M1&M2&M = self::_B2X&S&M1&M2 with self::M {
-  synthetic constructor •() → self::_B2X&S&M1&M2&M*
-    : super self::_B2X&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX {
-  synthetic constructor •() → self::_B2X&S&M1&M2&M&MX*
-    : super self::_B2X&S&M1&M2&M::•()
-    ;
-}
-class B2X extends self::_B2X&S&M1&M2&M&MX {
-  synthetic constructor •() → self::B2X*
-    : super self::_B2X&S&M1&M2&M&MX::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.legacy.transformed.expect
deleted file mode 100644
index 7ffefd4..0000000
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,351 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:21:7: Context: Override was introduced in the mixin application class 'A0'.
-// class A0 = S with M;
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:22:7: Context: Override was introduced in the mixin application class 'A1'.
-// class A1 = S with M1, M;
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:23:7: Context: Override was introduced in the mixin application class 'A2'.
-// class A2 = S with M1, M2, M;
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:25:7: Context: Override was introduced when the mixin 'M' was applied to 'S'.
-// class A0X = S with M, MX;
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:26:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1'.
-// class A1X = S with M1, M, MX;
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:27:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1, M2'.
-// class A2X = S with M1, M2, M, MX;
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:29:7: Context: Override was introduced when the mixin 'M' was applied to 'S'.
-// class B0 extends S with M {}
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:31:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1'.
-// class B1 extends S with M1, M {}
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:33:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1, M2'.
-// class B2 extends S with M1, M2, M {}
-//       ^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:35:7: Context: Override was introduced when the mixin 'M' was applied to 'S'.
-// class B0X extends S with M, MX {}
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:37:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1'.
-// class B1X extends S with M1, M, MX {}
-//       ^^^
-//
-// pkg/front_end/testcases/general/mixin_application_override.dart:12:3: Warning: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:8:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-// pkg/front_end/testcases/general/mixin_application_override.dart:39:7: Context: Override was introduced when the mixin 'M' was applied to 'S with M1, M2'.
-// class B2X extends S with M1, M2, M, MX {}
-//       ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class S extends core::Object {
-  synthetic constructor •() → self::S*
-    : super core::Object::•()
-    ;
-  method foo([dynamic x = #C1]) → dynamic {}
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-}
-class MX extends core::Object {
-  synthetic constructor •() → self::MX*
-    : super core::Object::•()
-    ;
-}
-class A0 extends self::S implements self::M {
-  synthetic constructor •() → self::A0*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _A1&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_A1&S&M1*
-    : super self::S::•()
-    ;
-}
-class A1 extends self::_A1&S&M1 implements self::M {
-  synthetic constructor •() → self::A1*
-    : super self::_A1&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _A2&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_A2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2&S&M1&M2 extends self::_A2&S&M1 implements self::M2 {
-  synthetic constructor •() → self::_A2&S&M1&M2*
-    : super self::_A2&S&M1::•()
-    ;
-}
-class A2 extends self::_A2&S&M1&M2 implements self::M {
-  synthetic constructor •() → self::A2*
-    : super self::_A2&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _A0X&S&M extends self::S implements self::M {
-  synthetic constructor •() → self::_A0X&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class A0X extends self::_A0X&S&M implements self::MX {
-  synthetic constructor •() → self::A0X*
-    : super self::_A0X&S&M::•()
-    ;
-}
-abstract class _A1X&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_A1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A1X&S&M1&M extends self::_A1X&S&M1 implements self::M {
-  synthetic constructor •() → self::_A1X&S&M1&M*
-    : super self::_A1X&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class A1X extends self::_A1X&S&M1&M implements self::MX {
-  synthetic constructor •() → self::A1X*
-    : super self::_A1X&S&M1&M::•()
-    ;
-}
-abstract class _A2X&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_A2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2X&S&M1&M2 extends self::_A2X&S&M1 implements self::M2 {
-  synthetic constructor •() → self::_A2X&S&M1&M2*
-    : super self::_A2X&S&M1::•()
-    ;
-}
-abstract class _A2X&S&M1&M2&M extends self::_A2X&S&M1&M2 implements self::M {
-  synthetic constructor •() → self::_A2X&S&M1&M2&M*
-    : super self::_A2X&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class A2X extends self::_A2X&S&M1&M2&M implements self::MX {
-  synthetic constructor •() → self::A2X*
-    : super self::_A2X&S&M1&M2&M::•()
-    ;
-}
-abstract class _B0&S&M extends self::S implements self::M {
-  synthetic constructor •() → self::_B0&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class B0 extends self::_B0&S&M {
-  synthetic constructor •() → self::B0*
-    : super self::_B0&S&M::•()
-    ;
-}
-abstract class _B1&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_B1&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1&S&M1&M extends self::_B1&S&M1 implements self::M {
-  synthetic constructor •() → self::_B1&S&M1&M*
-    : super self::_B1&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class B1 extends self::_B1&S&M1&M {
-  synthetic constructor •() → self::B1*
-    : super self::_B1&S&M1&M::•()
-    ;
-}
-abstract class _B2&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_B2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2&S&M1&M2 extends self::_B2&S&M1 implements self::M2 {
-  synthetic constructor •() → self::_B2&S&M1&M2*
-    : super self::_B2&S&M1::•()
-    ;
-}
-abstract class _B2&S&M1&M2&M extends self::_B2&S&M1&M2 implements self::M {
-  synthetic constructor •() → self::_B2&S&M1&M2&M*
-    : super self::_B2&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-class B2 extends self::_B2&S&M1&M2&M {
-  synthetic constructor •() → self::B2*
-    : super self::_B2&S&M1&M2&M::•()
-    ;
-}
-abstract class _B0X&S&M extends self::S implements self::M {
-  synthetic constructor •() → self::_B0X&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _B0X&S&M&MX extends self::_B0X&S&M implements self::MX {
-  synthetic constructor •() → self::_B0X&S&M&MX*
-    : super self::_B0X&S&M::•()
-    ;
-}
-class B0X extends self::_B0X&S&M&MX {
-  synthetic constructor •() → self::B0X*
-    : super self::_B0X&S&M&MX::•()
-    ;
-}
-abstract class _B1X&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_B1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1X&S&M1&M extends self::_B1X&S&M1 implements self::M {
-  synthetic constructor •() → self::_B1X&S&M1&M*
-    : super self::_B1X&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _B1X&S&M1&M&MX extends self::_B1X&S&M1&M implements self::MX {
-  synthetic constructor •() → self::_B1X&S&M1&M&MX*
-    : super self::_B1X&S&M1&M::•()
-    ;
-}
-class B1X extends self::_B1X&S&M1&M&MX {
-  synthetic constructor •() → self::B1X*
-    : super self::_B1X&S&M1&M&MX::•()
-    ;
-}
-abstract class _B2X&S&M1 extends self::S implements self::M1 {
-  synthetic constructor •() → self::_B2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2X&S&M1&M2 extends self::_B2X&S&M1 implements self::M2 {
-  synthetic constructor •() → self::_B2X&S&M1&M2*
-    : super self::_B2X&S&M1::•()
-    ;
-}
-abstract class _B2X&S&M1&M2&M extends self::_B2X&S&M1&M2 implements self::M {
-  synthetic constructor •() → self::_B2X&S&M1&M2&M*
-    : super self::_B2X&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x = #C1]) → dynamic;
-}
-abstract class _B2X&S&M1&M2&M&MX extends self::_B2X&S&M1&M2&M implements self::MX {
-  synthetic constructor •() → self::_B2X&S&M1&M2&M&MX*
-    : super self::_B2X&S&M1&M2&M::•()
-    ;
-}
-class B2X extends self::_B2X&S&M1&M2&M&MX {
-  synthetic constructor •() → self::B2X*
-    : super self::_B2X&S&M1&M2&M&MX::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.legacy.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.legacy.expect
deleted file mode 100644
index b4e3d5a..0000000
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.legacy.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/mixin_conflicts.dart:22:7: Error: The non-abstract class 'N2' is missing implementations for these members:
-//  - M.foo
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class N2 = Object with M2;
-//       ^^
-// pkg/front_end/testcases/general/mixin_conflicts.dart:7:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-// pkg/front_end/testcases/general/mixin_conflicts.dart:29:7: Error: The non-abstract class 'C2' is missing implementations for these members:
-//  - M.foo
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class C2 extends Object with M2 {}
-//       ^^
-// pkg/front_end/testcases/general/mixin_conflicts.dart:7:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class N = core::Object with self::M {
-  const synthetic constructor •() → self::N*
-    : super core::Object::•()
-    ;
-}
-abstract class _C&Object&N = core::Object with self::N {
-  const synthetic constructor •() → self::_C&Object&N*
-    : super core::Object::•()
-    ;
-}
-class C extends self::_C&Object&N {
-  synthetic constructor •() → self::C*
-    : super self::_C&Object&N::•()
-    ;
-}
-abstract class M2 extends core::Object implements self::M {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  method bar() → dynamic {}
-}
-class N2 = core::Object with self::M2 {
-  const synthetic constructor •() → self::N2*
-    : super core::Object::•()
-    ;
-}
-abstract class N3 = core::Object with self::M2 {
-  const synthetic constructor •() → self::N3*
-    : super core::Object::•()
-    ;
-}
-abstract class _C2&Object&M2 = core::Object with self::M2 {
-  const synthetic constructor •() → self::_C2&Object&M2*
-    : super core::Object::•()
-    ;
-}
-class C2 extends self::_C2&Object&M2 {
-  synthetic constructor •() → self::C2*
-    : super self::_C2&Object&M2::•()
-    ;
-}
-abstract class _C3&Object&M2 = core::Object with self::M2 {
-  const synthetic constructor •() → self::_C3&Object&M2*
-    : super core::Object::•()
-    ;
-}
-abstract class C3 extends self::_C3&Object&M2 {
-  synthetic constructor •() → self::C3*
-    : super self::_C3&Object&M2::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.legacy.transformed.expect
deleted file mode 100644
index dcb89f0..0000000
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,99 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/mixin_conflicts.dart:22:7: Error: The non-abstract class 'N2' is missing implementations for these members:
-//  - M.foo
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class N2 = Object with M2;
-//       ^^
-// pkg/front_end/testcases/general/mixin_conflicts.dart:7:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-// pkg/front_end/testcases/general/mixin_conflicts.dart:29:7: Error: The non-abstract class 'C2' is missing implementations for these members:
-//  - M.foo
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class C2 extends Object with M2 {}
-//       ^^
-// pkg/front_end/testcases/general/mixin_conflicts.dart:7:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class N extends core::Object implements self::M {
-  const synthetic constructor •() → self::N*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-abstract class _C&Object&N extends core::Object implements self::N {
-  const synthetic constructor •() → self::_C&Object&N*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class C extends self::_C&Object&N {
-  synthetic constructor •() → self::C*
-    : super self::_C&Object&N::•()
-    ;
-}
-abstract class M2 extends core::Object implements self::M {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  method bar() → dynamic {}
-}
-class N2 extends core::Object implements self::M2 {
-  const synthetic constructor •() → self::N2*
-    : super core::Object::•()
-    ;
-  method bar() → dynamic {}
-}
-abstract class N3 extends core::Object implements self::M2 {
-  const synthetic constructor •() → self::N3*
-    : super core::Object::•()
-    ;
-  method bar() → dynamic {}
-}
-abstract class _C2&Object&M2 extends core::Object implements self::M2 {
-  const synthetic constructor •() → self::_C2&Object&M2*
-    : super core::Object::•()
-    ;
-  method bar() → dynamic {}
-}
-class C2 extends self::_C2&Object&M2 {
-  synthetic constructor •() → self::C2*
-    : super self::_C2&Object&M2::•()
-    ;
-}
-abstract class _C3&Object&M2 extends core::Object implements self::M2 {
-  const synthetic constructor •() → self::_C3&Object&M2*
-    : super core::Object::•()
-    ;
-  method bar() → dynamic {}
-}
-abstract class C3 extends self::_C3&Object&M2 {
-  synthetic constructor •() → self::C3*
-    : super self::_C3&Object&M2::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.legacy.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.legacy.expect
deleted file mode 100644
index b5aaab3..0000000
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart:9:15: Error: The type 'T' is not a constant because it depends on a type parameter, only instantiated types are allowed.
-//   C({a: 0, b: T}) : trace = "a: $a, b: $b";
-//               ^
-// pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart:9:12: Context: While analyzing:
-//   C({a: 0, b: T}) : trace = "a: $a, b: $b";
-//            ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field core::String* trace;
-  constructor •({dynamic a = #C1, dynamic b = invalid-expression "The type 'T' is not a constant because it depends on a type parameter, only instantiated types are allowed."}) → self::C<self::C::T*>*
-    : self::C::trace = "a: ${a}, b: ${b}", super core::Object::•()
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class D = self::C<core::String*> with self::M {
-  synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D*
-    : super self::C::•(a: a, b: b)
-    ;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-}
-abstract class _F&C&M = self::C<core::int*> with self::M {
-  synthetic constructor •({dynamic a = #C1, dynamic b = #C3}) → self::_F&C&M*
-    : super self::C::•(a: a, b: b)
-    ;
-}
-class F extends self::_F&C&M {
-  synthetic constructor •() → self::F*
-    : super self::_F&C&M::•()
-    ;
-}
-static method main() → dynamic {
-  exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().trace);
-  exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().trace);
-  exp::Expect::stringEquals("a: 0, b: String", new self::D::•().trace);
-  exp::Expect::stringEquals("a: 0, b: String", new self::E::•().trace);
-  exp::Expect::stringEquals("a: 0, b: int", new self::F::•().trace);
-}
-
-constants  {
-  #C1 = 0
-  #C2 = TypeLiteralConstant(dart.core::String*)
-  #C3 = TypeLiteralConstant(dart.core::int*)
-}
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.legacy.transformed.expect
deleted file mode 100644
index 1dd355e..0000000
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart:9:15: Error: The type 'T' is not a constant because it depends on a type parameter, only instantiated types are allowed.
-//   C({a: 0, b: T}) : trace = "a: $a, b: $b";
-//               ^
-// pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart:9:12: Context: While analyzing:
-//   C({a: 0, b: T}) : trace = "a: $a, b: $b";
-//            ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field core::String* trace;
-  constructor •({dynamic a = #C1, dynamic b = invalid-expression "The type 'T' is not a constant because it depends on a type parameter, only instantiated types are allowed."}) → self::C<self::C::T*>*
-    : self::C::trace = "a: ${a}, b: ${b}", super core::Object::•()
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C<core::String*> implements self::M {
-  synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D*
-    : super self::C::•(a: a, b: b)
-    ;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-}
-abstract class _F&C&M extends self::C<core::int*> implements self::M {
-  synthetic constructor •({dynamic a = #C1, dynamic b = #C3}) → self::_F&C&M*
-    : super self::C::•(a: a, b: b)
-    ;
-}
-class F extends self::_F&C&M {
-  synthetic constructor •() → self::F*
-    : super self::_F&C&M::•()
-    ;
-}
-static method main() → dynamic {
-  exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().trace);
-  exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().trace);
-  exp::Expect::stringEquals("a: 0, b: String", new self::D::•().trace);
-  exp::Expect::stringEquals("a: 0, b: String", new self::E::•().trace);
-  exp::Expect::stringEquals("a: 0, b: int", new self::F::•().trace);
-}
-
-constants  {
-  #C1 = 0
-  #C2 = TypeLiteralConstant(dart.core::String*)
-  #C3 = TypeLiteralConstant(dart.core::int*)
-}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect
deleted file mode 100644
index eab87d1..0000000
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class C<T extends self::A* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* _field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::C::T* x) → dynamic {
-    this.{self::C::_field} = x;
-  }
-}
-class D extends self::C<self::B*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-abstract class _Foo&Object&C = core::Object with self::C<self::B*> {
-  synthetic constructor •() → self::_Foo&Object&C*
-    : super core::Object::•()
-    ;
-}
-class Foo extends self::_Foo&Object&C {
-  synthetic constructor •() → self::Foo*
-    : super self::_Foo&Object&C::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic foo = new self::Foo::•();
-  foo.foo(new self::B::•());
-}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect
deleted file mode 100644
index fc31836..0000000
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class C<T extends self::A* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* _field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::C::T* x) → dynamic {
-    this.{self::C::_field} = x;
-  }
-}
-class D extends self::C<self::B*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-abstract class _Foo&Object&C extends core::Object implements self::C<self::B*> {
-  generic-covariant-impl field self::B* _field = null;
-  synthetic constructor •() → self::_Foo&Object&C*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::B* x) → dynamic {
-    this.{self::C::_field} = x;
-  }
-}
-class Foo extends self::_Foo&Object&C {
-  synthetic constructor •() → self::Foo*
-    : super self::_Foo&Object&C::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic foo = new self::Foo::•();
-  foo.foo(new self::B::•());
-}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.legacy.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.legacy.expect
deleted file mode 100644
index ed03d39..0000000
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class M extends core::Object {
-  field dynamic m = null;
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-abstract class N extends self::M {
-  synthetic constructor •() → self::N*
-    : super self::M::•()
-    ;
-  set superM(dynamic value) → void {
-    super.{self::M::m} = value;
-  }
-  get superM() → dynamic
-    return super.{self::M::m};
-}
-class S extends core::Object {
-  synthetic constructor •() → self::S*
-    : super core::Object::•()
-    ;
-}
-abstract class _Named&S&M = self::S with self::M {
-  synthetic constructor •() → self::_Named&S&M*
-    : super self::S::•()
-    ;
-}
-abstract class _Named&S&M&N = self::_Named&S&M with self::N {
-  synthetic constructor •() → self::_Named&S&M&N*
-    : super self::_Named&S&M::•()
-    ;
-}
-class Named = self::_Named&S&M&N with self::M {
-  synthetic constructor •() → self::Named*
-    : super self::_Named&S&M&N::•()
-    ;
-}
-static method main() → dynamic {
-  self::Named* named = new self::Named::•();
-  named.m = 42;
-  named.superM = 87;
-  if(!named.m.==(42)) {
-    throw "Bad mixin translation of set:superM";
-  }
-  if(!named.superM.==(87)) {
-    throw "Bad mixin translation of get:superM";
-  }
-}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.legacy.transformed.expect
deleted file mode 100644
index 2ac6392..0000000
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class M extends core::Object {
-  field dynamic m = null;
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-abstract class N extends self::M {
-  synthetic constructor •() → self::N*
-    : super self::M::•()
-    ;
-  set superM(dynamic value) → void {
-    super.{self::M::m} = value;
-  }
-  get superM() → dynamic
-    return super.{self::M::m};
-}
-class S extends core::Object {
-  synthetic constructor •() → self::S*
-    : super core::Object::•()
-    ;
-}
-abstract class _Named&S&M extends self::S implements self::M {
-  field dynamic m = null;
-  synthetic constructor •() → self::_Named&S&M*
-    : super self::S::•()
-    ;
-}
-abstract class _Named&S&M&N extends self::_Named&S&M implements self::N {
-  synthetic constructor •() → self::_Named&S&M&N*
-    : super self::_Named&S&M::•()
-    ;
-  set superM(dynamic value) → void {
-    super.{self::M::m} = value;
-  }
-  get superM() → dynamic
-    return super.{self::M::m};
-}
-class Named extends self::_Named&S&M&N implements self::M {
-  field dynamic m = null;
-  synthetic constructor •() → self::Named*
-    : super self::_Named&S&M&N::•()
-    ;
-}
-static method main() → dynamic {
-  self::Named* named = new self::Named::•();
-  named.m = 42;
-  named.superM = 87;
-  if(!named.m.==(42)) {
-    throw "Bad mixin translation of set:superM";
-  }
-  if(!named.superM.==(87)) {
-    throw "Bad mixin translation of get:superM";
-  }
-}
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.legacy.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.legacy.expect
deleted file mode 100644
index a6968d3..0000000
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _A&B&M = self::B with self::M {
-  synthetic constructor •() → self::_A&B&M*
-    : super self::B::•()
-    ;
-}
-class A extends self::_A&B&M {
-  synthetic constructor •() → self::A*
-    : super self::_A&B&M::•()
-    ;
-}
-class B extends core::Object {
-  final field core::Object* m = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  static method m() → core::Object*
-    return null;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.legacy.transformed.expect
deleted file mode 100644
index a732858..0000000
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _A&B&M extends self::B implements self::M {
-  synthetic constructor •() → self::_A&B&M*
-    : super self::B::•()
-    ;
-  static method m() → core::Object*
-    return null;
-}
-class A extends self::_A&B&M {
-  synthetic constructor •() → self::A*
-    : super self::_A&B&M::•()
-    ;
-}
-class B extends core::Object {
-  final field core::Object* m = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  static method m() → core::Object*
-    return null;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.legacy.expect b/pkg/front_end/testcases/general/named_function_scope.dart.legacy.expect
deleted file mode 100644
index d782aee..0000000
--- a/pkg/front_end/testcases/general/named_function_scope.dart.legacy.expect
+++ /dev/null
@@ -1,175 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:26:13: Error: A function expression can't have a name.
-//     var x = T() {};
-//             ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V;
-//         ^
-// pkg/front_end/testcases/general/named_function_scope.dart:29:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V = null;
-//         ^
-// pkg/front_end/testcases/general/named_function_scope.dart:34:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: A function expression can't have a name.
-//     var x = T T() {};
-//               ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
-//     var x = T T() {};
-//               ^
-// pkg/front_end/testcases/general/named_function_scope.dart:41:13: Context: Previous use of 'T'.
-//     var x = T T() {};
-//             ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
-//     V V;
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:47:5: Context: Previous use of 'V'.
-//     V V;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: A function expression can't have a name.
-//     var x = T<T>() {};
-//             ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
-//     var x = T<T>() {};
-//             ^
-// pkg/front_end/testcases/general/named_function_scope.dart:52:15: Context: Previous declaration of 'T'.
-//     var x = T<T>() {};
-//               ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:55:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:59:5: Context: Previous use of 'T'.
-//     T T() {}
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:62:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:66:5: Context: Previous use of 'T'.
-//     T T(T t) {}
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:69:12: Warning: 'T' isn't a type.
-//     void T(T t) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class T extends core::Object {
-  synthetic constructor •() → self::T*
-    : super core::Object::•()
-    ;
-}
-class V extends core::Object {
-  synthetic constructor •() → self::V*
-    : super core::Object::•()
-    ;
-}
-static method test() → dynamic {
-  self::T* t;
-  self::V* v;
-  {
-    function T() → dynamic {}
-  }
-  {
-    dynamic v;
-  }
-  {
-    self::T* t;
-    dynamic x = let final () →* dynamic T = () → dynamic {} in T;
-  }
-  {
-    self::V* v;
-    dynamic V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
-    var V;
-        ^";
-  }
-  {
-    self::V* v;
-    dynamic V = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
-    var V = null;
-        ^" in null;
-  }
-  {
-    dynamic x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
-    var x = T T() {};
-              ^" in let final () →* self::T* T = () → self::T* {} in T;
-  }
-  {
-    self::V* V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
-    V V;
-      ^";
-  }
-  {
-    dynamic x = let final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
-    var x = T<T>() {};
-            ^" in let final <T extends core::Object* = dynamic>() →* dynamic T = <T extends core::Object* = dynamic>() → dynamic {} in T;
-  }
-  {
-    self::T* t;
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T() {}
-      ^";
-      function T() → self::T* {}
-    }
-  }
-  {
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T() {}
-      ^";
-      function T() → self::T* {}
-    }
-  }
-  {
-    self::T* t;
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T(T t) {}
-      ^";
-      function T(self::T* t) → self::T* {}
-    }
-  }
-  {
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T(T t) {}
-      ^";
-      function T(self::T* t) → self::T* {}
-    }
-  }
-  {
-    function T(invalid-type t) → void {}
-  }
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/named_function_scope.dart.legacy.transformed.expect
deleted file mode 100644
index d782aee..0000000
--- a/pkg/front_end/testcases/general/named_function_scope.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,175 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:26:13: Error: A function expression can't have a name.
-//     var x = T() {};
-//             ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V;
-//         ^
-// pkg/front_end/testcases/general/named_function_scope.dart:29:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V = null;
-//         ^
-// pkg/front_end/testcases/general/named_function_scope.dart:34:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: A function expression can't have a name.
-//     var x = T T() {};
-//               ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
-//     var x = T T() {};
-//               ^
-// pkg/front_end/testcases/general/named_function_scope.dart:41:13: Context: Previous use of 'T'.
-//     var x = T T() {};
-//             ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
-//     V V;
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:47:5: Context: Previous use of 'V'.
-//     V V;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: A function expression can't have a name.
-//     var x = T<T>() {};
-//             ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
-//     var x = T<T>() {};
-//             ^
-// pkg/front_end/testcases/general/named_function_scope.dart:52:15: Context: Previous declaration of 'T'.
-//     var x = T<T>() {};
-//               ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:55:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:59:5: Context: Previous use of 'T'.
-//     T T() {}
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:62:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general/named_function_scope.dart:66:5: Context: Previous use of 'T'.
-//     T T(T t) {}
-//     ^
-//
-// pkg/front_end/testcases/general/named_function_scope.dart:69:12: Warning: 'T' isn't a type.
-//     void T(T t) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class T extends core::Object {
-  synthetic constructor •() → self::T*
-    : super core::Object::•()
-    ;
-}
-class V extends core::Object {
-  synthetic constructor •() → self::V*
-    : super core::Object::•()
-    ;
-}
-static method test() → dynamic {
-  self::T* t;
-  self::V* v;
-  {
-    function T() → dynamic {}
-  }
-  {
-    dynamic v;
-  }
-  {
-    self::T* t;
-    dynamic x = let final () →* dynamic T = () → dynamic {} in T;
-  }
-  {
-    self::V* v;
-    dynamic V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
-    var V;
-        ^";
-  }
-  {
-    self::V* v;
-    dynamic V = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
-    var V = null;
-        ^" in null;
-  }
-  {
-    dynamic x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
-    var x = T T() {};
-              ^" in let final () →* self::T* T = () → self::T* {} in T;
-  }
-  {
-    self::V* V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
-    V V;
-      ^";
-  }
-  {
-    dynamic x = let final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
-    var x = T<T>() {};
-            ^" in let final <T extends core::Object* = dynamic>() →* dynamic T = <T extends core::Object* = dynamic>() → dynamic {} in T;
-  }
-  {
-    self::T* t;
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T() {}
-      ^";
-      function T() → self::T* {}
-    }
-  }
-  {
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T() {}
-      ^";
-      function T() → self::T* {}
-    }
-  }
-  {
-    self::T* t;
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T(T t) {}
-      ^";
-      function T(self::T* t) → self::T* {}
-    }
-  }
-  {
-    {
-      invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-    T T(T t) {}
-      ^";
-      function T(self::T* t) → self::T* {}
-    }
-  }
-  {
-    function T(invalid-type t) → void {}
-  }
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.legacy.expect b/pkg/front_end/testcases/general/named_parameters.dart.legacy.expect
deleted file mode 100644
index 5623b11..0000000
--- a/pkg/front_end/testcases/general/named_parameters.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Superclass extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method foo({dynamic alpha, dynamic beta}) → dynamic {}
-  method bar({dynamic beta, dynamic alpha}) → dynamic {}
-  method namedCallback(({alpha: core::String, beta: core::int}) → dynamic callback) → dynamic {
-    callback.call(alpha: "one", beta: 2);
-    callback.call(beta: 1, alpha: "two");
-  }
-}
-class Subclass extends self::Superclass {
-  synthetic constructor •() → void
-    : super self::Superclass::•()
-    ;
-  method foo({dynamic beta, dynamic alpha}) → dynamic {}
-  method bar({dynamic alpha, dynamic beta}) → dynamic {}
-  method namedCallback(({alpha: core::String, beta: core::int}) → dynamic callback) → dynamic {}
-}
-static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma, dynamic delta}) → dynamic {}
-static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma, dynamic delta]) → dynamic {}
-static method main() → dynamic {
-  new self::Subclass::•().foo(beta: 1, alpha: 2);
-  new self::Subclass::•().foo(alpha: 1, beta: 2);
-  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
-  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
-}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.legacy.expect b/pkg/front_end/testcases/general/native_as_name.dart.legacy.expect
deleted file mode 100644
index ac402b2..0000000
--- a/pkg/front_end/testcases/general/native_as_name.dart.legacy.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class W extends core::Object {
-  field core::String* native;
-  constructor •() → self::W*
-    : self::W::native = "field", super core::Object::•()
-    ;
-}
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  method native() → core::String*
-    return "method";
-}
-abstract class Y1 extends core::Object {
-  synthetic constructor •() → self::Y1*
-    : super core::Object::•()
-    ;
-  abstract get native() → core::String*;
-}
-class Y2 extends self::Y1 {
-  synthetic constructor •() → self::Y2*
-    : super self::Y1::•()
-    ;
-  @#C1
-  get native() → core::String*
-    return "getter";
-}
-class Z extends core::Object {
-  field core::String* f = null;
-  synthetic constructor •() → self::Z*
-    : super core::Object::•()
-    ;
-  set native(core::String* s) → void
-    return this.{self::Z::f} = s;
-}
-static method main() → dynamic {
-  core::print(new self::W::•().native);
-  core::print(new self::X::•().native());
-  core::print(new self::Y2::•().native);
-  core::print((let final dynamic #t1 = new self::Z::•() in let final dynamic #t2 = #t1.native = "setter" in #t1).f);
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/native_as_name.dart.legacy.transformed.expect
deleted file mode 100644
index ac402b2..0000000
--- a/pkg/front_end/testcases/general/native_as_name.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class W extends core::Object {
-  field core::String* native;
-  constructor •() → self::W*
-    : self::W::native = "field", super core::Object::•()
-    ;
-}
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  method native() → core::String*
-    return "method";
-}
-abstract class Y1 extends core::Object {
-  synthetic constructor •() → self::Y1*
-    : super core::Object::•()
-    ;
-  abstract get native() → core::String*;
-}
-class Y2 extends self::Y1 {
-  synthetic constructor •() → self::Y2*
-    : super self::Y1::•()
-    ;
-  @#C1
-  get native() → core::String*
-    return "getter";
-}
-class Z extends core::Object {
-  field core::String* f = null;
-  synthetic constructor •() → self::Z*
-    : super core::Object::•()
-    ;
-  set native(core::String* s) → void
-    return this.{self::Z::f} = s;
-}
-static method main() → dynamic {
-  core::print(new self::W::•().native);
-  core::print(new self::X::•().native());
-  core::print(new self::Y2::•().native);
-  core::print((let final dynamic #t1 = new self::Z::•() in let final dynamic #t2 = #t1.native = "setter" in #t1).f);
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.legacy.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.legacy.expect
deleted file mode 100644
index 6a1ea6d..0000000
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* bar;
-  const constructor •(core::int* bar) → self::A*
-    : self::A::bar = bar, super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  final field self::A* baz;
-  const constructor •(self::A* baz) → self::B*
-    : self::B::baz = baz, super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    new self::B::•(new self::A::•(#C1));
-  }
-}
-static const field core::int* foo = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.legacy.transformed.expect
deleted file mode 100644
index 6a1ea6d..0000000
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* bar;
-  const constructor •(core::int* bar) → self::A*
-    : self::A::bar = bar, super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  final field self::A* baz;
-  const constructor •(self::A* baz) → self::B*
-    : self::B::baz = baz, super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    new self::B::•(new self::A::•(#C1));
-  }
-}
-static const field core::int* foo = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.legacy.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.legacy.expect
deleted file mode 100644
index 3fa5d56..0000000
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.legacy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "no_such_method_private_setter_lib.dart" as no_;
-
-import "org-dartlang-testcase:///no_such_method_private_setter_lib.dart";
-
-class Foo extends core::Object implements no_::Bar {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-  no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {
-  no_::baz(new self::Foo::•());
-}
-
-library;
-import self as no_;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  field core::int* _x = null;
-  synthetic constructor •() → no_::Bar*
-    : super core::Object::•()
-    ;
-}
-static method baz(no_::Bar* bar) → void {
-  return;
-}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///no_such_method_private_setter.dart::_x
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #org-dartlang-testcase:///no_such_method_private_setter.dart::_x=
-}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 3fa5d56..0000000
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "no_such_method_private_setter_lib.dart" as no_;
-
-import "org-dartlang-testcase:///no_such_method_private_setter_lib.dart";
-
-class Foo extends core::Object implements no_::Bar {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-  no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {
-  no_::baz(new self::Foo::•());
-}
-
-library;
-import self as no_;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  field core::int* _x = null;
-  synthetic constructor •() → no_::Bar*
-    : super core::Object::•()
-    ;
-}
-static method baz(no_::Bar* bar) → void {
-  return;
-}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///no_such_method_private_setter.dart::_x
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #org-dartlang-testcase:///no_such_method_private_setter.dart::_x=
-}
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.legacy.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.legacy.expect
deleted file mode 100644
index ed53ce5..0000000
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.legacy.expect
+++ /dev/null
@@ -1,483 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* field1;
-  generic-covariant-impl field () →* self::C::T* field2;
-  field (self::C::T*) →* void field3;
-  generic-covariant-impl field (self::C::T*) →* self::C::T* field4;
-  generic-covariant-impl field () →* () →* self::C::T* field5;
-  field (() →* self::C::T*) →* void field6;
-  generic-covariant-impl field (() →* self::C::T*) →* self::C::T* field7;
-  generic-covariant-impl field ((self::C::T*) →* void) →* void field8;
-  generic-covariant-impl field ((self::C::T*) →* void) →* self::C::T* field9;
-  generic-covariant-impl field ((self::C::T*) →* self::C::T*) →* void field10;
-  generic-covariant-impl field ((self::C::T*) →* self::C::T*) →* self::C::T* field11;
-  generic-covariant-impl field <S extends self::C::T* = dynamic>() →* S* field12;
-  generic-covariant-impl field <S extends self::C::T* = dynamic>(S*) →* void field13;
-  generic-covariant-impl field <S extends self::C::T* = dynamic>(S*) →* S* field14;
-  generic-covariant-impl field (<S extends self::C::T* = dynamic>() →* S*) →* void field15;
-  constructor •(self::C::T* field1) → self::C<self::C::T*>*
-    : self::C::field1 = field1, self::C::field2 = () → dynamic => field1, self::C::field3 = (self::C::T* t) → dynamic {}, self::C::field4 = (self::C::T* t) → dynamic => t, self::C::field5 = () → dynamic => () → dynamic => field1, self::C::field6 = (() →* self::C::T* f) → dynamic {}, self::C::field7 = (() →* self::C::T* f) → dynamic => field1, self::C::field8 = ((self::C::T*) →* void f) → dynamic {}, self::C::field9 = ((self::C::T*) →* void f) → dynamic => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → dynamic {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → dynamic => field1, self::C::field12 = <S extends self::C::T* = dynamic>() → dynamic => null, self::C::field13 = <S extends self::C::T* = dynamic>(S* s) → dynamic {}, self::C::field14 = <S extends self::C::T* = dynamic>(S* s) → dynamic => s, self::C::field15 = (<S extends self::C::T* = dynamic>() →* S* f) → dynamic {}, super core::Object::•()
-    ;
-  get getter1() → self::C::T*
-    return this.{self::C::field1};
-  get getter2() → () →* self::C::T*
-    return this.{self::C::field2};
-  get getter3() → (self::C::T*) →* void
-    return this.{self::C::field3};
-  get getter4() → (self::C::T*) →* self::C::T*
-    return this.{self::C::field4};
-  get getter5() → () →* () →* self::C::T*
-    return this.{self::C::field5};
-  get getter6() → (() →* self::C::T*) →* void
-    return this.{self::C::field6};
-  get getter7() → (() →* self::C::T*) →* self::C::T*
-    return this.{self::C::field7};
-  get getter8() → ((self::C::T*) →* void) →* void
-    return this.{self::C::field8};
-  get getter9() → ((self::C::T*) →* void) →* self::C::T*
-    return this.{self::C::field9};
-  get getter10() → ((self::C::T*) →* self::C::T*) →* void
-    return this.{self::C::field10};
-  get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
-    return this.{self::C::field11};
-  get getter12() → <S extends self::C::T* = dynamic>() →* S*
-    return this.{self::C::field12};
-  get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
-    return this.{self::C::field13};
-  get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
-    return this.{self::C::field14};
-  get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
-    return this.{self::C::field15};
-  set setter1(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::field1} = value;
-  }
-  set setter2(generic-covariant-impl () →* self::C::T* value) → void {
-    this.{self::C::field2} = value;
-  }
-  set setter3((self::C::T*) →* void value) → void {
-    this.{self::C::field3} = value;
-  }
-  set setter4(generic-covariant-impl (self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field4} = value;
-  }
-  set setter5(generic-covariant-impl () →* () →* self::C::T* value) → void {
-    this.{self::C::field5} = value;
-  }
-  set setter6((() →* self::C::T*) →* void value) → void {
-    this.{self::C::field6} = value;
-  }
-  set setter7(generic-covariant-impl (() →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field7} = value;
-  }
-  set setter8(generic-covariant-impl ((self::C::T*) →* void) →* void value) → void {
-    this.{self::C::field8} = value;
-  }
-  set setter9(generic-covariant-impl ((self::C::T*) →* void) →* self::C::T* value) → void {
-    this.{self::C::field9} = value;
-  }
-  set setter10(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* void value) → void {
-    this.{self::C::field10} = value;
-  }
-  set setter11(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field11} = value;
-  }
-  set setter12(generic-covariant-impl <S extends self::C::T* = dynamic>() →* S* value) → void {
-    this.{self::C::field12} = value;
-  }
-  set setter13(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* void value) → void {
-    this.{self::C::field13} = value;
-  }
-  set setter14(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
-    this.{self::C::field14} = value;
-  }
-  set setter15(generic-covariant-impl (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
-    this.{self::C::field15} = value;
-  }
-  method method1(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::field1} = value;
-  }
-  method method2(generic-covariant-impl () →* self::C::T* value) → void {
-    this.{self::C::field2} = value;
-  }
-  method method3((self::C::T*) →* void value) → void {
-    this.{self::C::field3} = value;
-  }
-  method method4(generic-covariant-impl (self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field4} = value;
-  }
-  method method5(generic-covariant-impl () →* () →* self::C::T* value) → void {
-    this.{self::C::field5} = value;
-  }
-  method method6((() →* self::C::T*) →* void value) → void {
-    this.{self::C::field6} = value;
-  }
-  method method7(generic-covariant-impl (() →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field7} = value;
-  }
-  method method8(generic-covariant-impl ((self::C::T*) →* void) →* void value) → void {
-    this.{self::C::field8} = value;
-  }
-  method method9(generic-covariant-impl ((self::C::T*) →* void) →* self::C::T* value) → void {
-    this.{self::C::field9} = value;
-  }
-  method method10(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* void value) → void {
-    this.{self::C::field10} = value;
-  }
-  method method11(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field11} = value;
-  }
-  method method12(generic-covariant-impl <S extends self::C::T* = dynamic>() →* S* value) → void {
-    this.{self::C::field12} = value;
-  }
-  method method13(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* void value) → void {
-    this.{self::C::field13} = value;
-  }
-  method method14(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
-    this.{self::C::field14} = value;
-  }
-  method method15(generic-covariant-impl (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
-    this.{self::C::field15} = value;
-  }
-}
-static method main() → dynamic {
-  self::C<core::num*>* c = new self::C::•<core::int*>(0);
-  c.field1;
-  c.field2;
-  try {
-    c.field3;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field4;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.field5;
-  try {
-    c.field6;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field7;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.field8;
-  c.field9;
-  try {
-    c.field10;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field11;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field12;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field13;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field14;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field15;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.getter1;
-  c.getter2;
-  try {
-    c.getter3;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter4;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.getter5;
-  try {
-    c.getter6;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter7;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.getter8;
-  c.getter9;
-  try {
-    c.getter10;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter11;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter12;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter13;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter14;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter15;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter1 = 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter2 = () → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.setter3 = (core::num* n) → dynamic {};
-  try {
-    c.setter4 = (core::num* n) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter5 = () → dynamic => () → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.setter6 = (() →* core::num* f) → dynamic {};
-  try {
-    c.setter7 = (() →* core::num* f) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter8 = ((core::double*) →* void f) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter9 = ((core::double*) →* void f) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter10 = ((core::double*) →* core::num* f) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter11 = ((core::double*) →* core::num* f) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter12 = <S extends core::num* = dynamic>() → dynamic => null;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter13 = <S extends core::num* = dynamic>(S* s) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter14 = <S extends core::num* = dynamic>(S* s) → dynamic => s;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter15 = (<S extends core::num* = dynamic>() →* S* f) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method1(0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method2(() → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.method3((core::num* n) → dynamic {});
-  try {
-    c.method4((core::num* n) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method5(() → dynamic => () → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.method6((() →* core::num* f) → dynamic {});
-  try {
-    c.method7((() →* core::num* f) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method8(((core::double*) →* void f) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method9(((core::double*) →* void f) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method10(((core::double*) →* core::num* f) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method11(((core::double*) →* core::num* f) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method12(<S extends core::num* = dynamic>() → dynamic => null);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method13(<S extends core::num* = dynamic>(S* s) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method14(<S extends core::num* = dynamic>(S* s) → dynamic => s);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method15((<S extends core::num* = dynamic>() →* S* f) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.legacy.transformed.expect
deleted file mode 100644
index ed53ce5..0000000
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,483 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* field1;
-  generic-covariant-impl field () →* self::C::T* field2;
-  field (self::C::T*) →* void field3;
-  generic-covariant-impl field (self::C::T*) →* self::C::T* field4;
-  generic-covariant-impl field () →* () →* self::C::T* field5;
-  field (() →* self::C::T*) →* void field6;
-  generic-covariant-impl field (() →* self::C::T*) →* self::C::T* field7;
-  generic-covariant-impl field ((self::C::T*) →* void) →* void field8;
-  generic-covariant-impl field ((self::C::T*) →* void) →* self::C::T* field9;
-  generic-covariant-impl field ((self::C::T*) →* self::C::T*) →* void field10;
-  generic-covariant-impl field ((self::C::T*) →* self::C::T*) →* self::C::T* field11;
-  generic-covariant-impl field <S extends self::C::T* = dynamic>() →* S* field12;
-  generic-covariant-impl field <S extends self::C::T* = dynamic>(S*) →* void field13;
-  generic-covariant-impl field <S extends self::C::T* = dynamic>(S*) →* S* field14;
-  generic-covariant-impl field (<S extends self::C::T* = dynamic>() →* S*) →* void field15;
-  constructor •(self::C::T* field1) → self::C<self::C::T*>*
-    : self::C::field1 = field1, self::C::field2 = () → dynamic => field1, self::C::field3 = (self::C::T* t) → dynamic {}, self::C::field4 = (self::C::T* t) → dynamic => t, self::C::field5 = () → dynamic => () → dynamic => field1, self::C::field6 = (() →* self::C::T* f) → dynamic {}, self::C::field7 = (() →* self::C::T* f) → dynamic => field1, self::C::field8 = ((self::C::T*) →* void f) → dynamic {}, self::C::field9 = ((self::C::T*) →* void f) → dynamic => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → dynamic {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → dynamic => field1, self::C::field12 = <S extends self::C::T* = dynamic>() → dynamic => null, self::C::field13 = <S extends self::C::T* = dynamic>(S* s) → dynamic {}, self::C::field14 = <S extends self::C::T* = dynamic>(S* s) → dynamic => s, self::C::field15 = (<S extends self::C::T* = dynamic>() →* S* f) → dynamic {}, super core::Object::•()
-    ;
-  get getter1() → self::C::T*
-    return this.{self::C::field1};
-  get getter2() → () →* self::C::T*
-    return this.{self::C::field2};
-  get getter3() → (self::C::T*) →* void
-    return this.{self::C::field3};
-  get getter4() → (self::C::T*) →* self::C::T*
-    return this.{self::C::field4};
-  get getter5() → () →* () →* self::C::T*
-    return this.{self::C::field5};
-  get getter6() → (() →* self::C::T*) →* void
-    return this.{self::C::field6};
-  get getter7() → (() →* self::C::T*) →* self::C::T*
-    return this.{self::C::field7};
-  get getter8() → ((self::C::T*) →* void) →* void
-    return this.{self::C::field8};
-  get getter9() → ((self::C::T*) →* void) →* self::C::T*
-    return this.{self::C::field9};
-  get getter10() → ((self::C::T*) →* self::C::T*) →* void
-    return this.{self::C::field10};
-  get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
-    return this.{self::C::field11};
-  get getter12() → <S extends self::C::T* = dynamic>() →* S*
-    return this.{self::C::field12};
-  get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
-    return this.{self::C::field13};
-  get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
-    return this.{self::C::field14};
-  get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
-    return this.{self::C::field15};
-  set setter1(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::field1} = value;
-  }
-  set setter2(generic-covariant-impl () →* self::C::T* value) → void {
-    this.{self::C::field2} = value;
-  }
-  set setter3((self::C::T*) →* void value) → void {
-    this.{self::C::field3} = value;
-  }
-  set setter4(generic-covariant-impl (self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field4} = value;
-  }
-  set setter5(generic-covariant-impl () →* () →* self::C::T* value) → void {
-    this.{self::C::field5} = value;
-  }
-  set setter6((() →* self::C::T*) →* void value) → void {
-    this.{self::C::field6} = value;
-  }
-  set setter7(generic-covariant-impl (() →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field7} = value;
-  }
-  set setter8(generic-covariant-impl ((self::C::T*) →* void) →* void value) → void {
-    this.{self::C::field8} = value;
-  }
-  set setter9(generic-covariant-impl ((self::C::T*) →* void) →* self::C::T* value) → void {
-    this.{self::C::field9} = value;
-  }
-  set setter10(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* void value) → void {
-    this.{self::C::field10} = value;
-  }
-  set setter11(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field11} = value;
-  }
-  set setter12(generic-covariant-impl <S extends self::C::T* = dynamic>() →* S* value) → void {
-    this.{self::C::field12} = value;
-  }
-  set setter13(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* void value) → void {
-    this.{self::C::field13} = value;
-  }
-  set setter14(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
-    this.{self::C::field14} = value;
-  }
-  set setter15(generic-covariant-impl (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
-    this.{self::C::field15} = value;
-  }
-  method method1(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::field1} = value;
-  }
-  method method2(generic-covariant-impl () →* self::C::T* value) → void {
-    this.{self::C::field2} = value;
-  }
-  method method3((self::C::T*) →* void value) → void {
-    this.{self::C::field3} = value;
-  }
-  method method4(generic-covariant-impl (self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field4} = value;
-  }
-  method method5(generic-covariant-impl () →* () →* self::C::T* value) → void {
-    this.{self::C::field5} = value;
-  }
-  method method6((() →* self::C::T*) →* void value) → void {
-    this.{self::C::field6} = value;
-  }
-  method method7(generic-covariant-impl (() →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field7} = value;
-  }
-  method method8(generic-covariant-impl ((self::C::T*) →* void) →* void value) → void {
-    this.{self::C::field8} = value;
-  }
-  method method9(generic-covariant-impl ((self::C::T*) →* void) →* self::C::T* value) → void {
-    this.{self::C::field9} = value;
-  }
-  method method10(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* void value) → void {
-    this.{self::C::field10} = value;
-  }
-  method method11(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
-    this.{self::C::field11} = value;
-  }
-  method method12(generic-covariant-impl <S extends self::C::T* = dynamic>() →* S* value) → void {
-    this.{self::C::field12} = value;
-  }
-  method method13(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* void value) → void {
-    this.{self::C::field13} = value;
-  }
-  method method14(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
-    this.{self::C::field14} = value;
-  }
-  method method15(generic-covariant-impl (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
-    this.{self::C::field15} = value;
-  }
-}
-static method main() → dynamic {
-  self::C<core::num*>* c = new self::C::•<core::int*>(0);
-  c.field1;
-  c.field2;
-  try {
-    c.field3;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field4;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.field5;
-  try {
-    c.field6;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field7;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.field8;
-  c.field9;
-  try {
-    c.field10;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field11;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field12;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field13;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field14;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.field15;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.getter1;
-  c.getter2;
-  try {
-    c.getter3;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter4;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.getter5;
-  try {
-    c.getter6;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter7;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.getter8;
-  c.getter9;
-  try {
-    c.getter10;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter11;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter12;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter13;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter14;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.getter15;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter1 = 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter2 = () → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.setter3 = (core::num* n) → dynamic {};
-  try {
-    c.setter4 = (core::num* n) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter5 = () → dynamic => () → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.setter6 = (() →* core::num* f) → dynamic {};
-  try {
-    c.setter7 = (() →* core::num* f) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter8 = ((core::double*) →* void f) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter9 = ((core::double*) →* void f) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter10 = ((core::double*) →* core::num* f) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter11 = ((core::double*) →* core::num* f) → dynamic => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter12 = <S extends core::num* = dynamic>() → dynamic => null;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter13 = <S extends core::num* = dynamic>(S* s) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter14 = <S extends core::num* = dynamic>(S* s) → dynamic => s;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.setter15 = (<S extends core::num* = dynamic>() →* S* f) → dynamic {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method1(0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method2(() → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.method3((core::num* n) → dynamic {});
-  try {
-    c.method4((core::num* n) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method5(() → dynamic => () → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.method6((() →* core::num* f) → dynamic {});
-  try {
-    c.method7((() →* core::num* f) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method8(((core::double*) →* void f) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method9(((core::double*) →* void f) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method10(((core::double*) →* core::num* f) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method11(((core::double*) →* core::num* f) → dynamic => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method12(<S extends core::num* = dynamic>() → dynamic => null);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method13(<S extends core::num* = dynamic>(S* s) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method14(<S extends core::num* = dynamic>(S* s) → dynamic => s);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.method15((<S extends core::num* = dynamic>() →* S* f) → dynamic {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general/null_aware.dart.legacy.expect b/pkg/front_end/testcases/general/null_aware.dart.legacy.expect
deleted file mode 100644
index d912728..0000000
--- a/pkg/front_end/testcases/general/null_aware.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* field = null;
-  static field core::int* staticField = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  let final dynamic #t1 = foo in #t1.==(null) ? null : #t1.field = 5;
-  self::Foo::staticField = 5;
-  let final dynamic #t2 = foo in #t2.field.==(null) ? #t2.field = 5 : null;
-  self::Foo::staticField.==(null) ? self::Foo::staticField = 5 : null;
-  let final dynamic #t3 = foo in #t3.==(null) ? null : #t3.field.==(null) ? #t3.field = 5 : null;
-  self::Foo::staticField.==(null) ? self::Foo::staticField = 5 : null;
-  core::int* intValue = let final dynamic #t4 = foo.field in #t4.==(null) ? 6 : #t4;
-  core::num* numValue = let final dynamic #t5 = foo.field in #t5.==(null) ? 4.5 : #t5;
-}
diff --git a/pkg/front_end/testcases/general/null_aware.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/null_aware.dart.legacy.transformed.expect
deleted file mode 100644
index d912728..0000000
--- a/pkg/front_end/testcases/general/null_aware.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* field = null;
-  static field core::int* staticField = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  let final dynamic #t1 = foo in #t1.==(null) ? null : #t1.field = 5;
-  self::Foo::staticField = 5;
-  let final dynamic #t2 = foo in #t2.field.==(null) ? #t2.field = 5 : null;
-  self::Foo::staticField.==(null) ? self::Foo::staticField = 5 : null;
-  let final dynamic #t3 = foo in #t3.==(null) ? null : #t3.field.==(null) ? #t3.field = 5 : null;
-  self::Foo::staticField.==(null) ? self::Foo::staticField = 5 : null;
-  core::int* intValue = let final dynamic #t4 = foo.field in #t4.==(null) ? 6 : #t4;
-  core::num* numValue = let final dynamic #t5 = foo.field in #t5.==(null) ? 4.5 : #t5;
-}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.legacy.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.legacy.expect
deleted file mode 100644
index e7a6f6c..0000000
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.legacy.expect
+++ /dev/null
@@ -1,154 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:36:10: Warning: 'foo' isn't a type.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:36:10: Error: Expected '>' after this.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:36:13: Error: Expected '[' before this.
-//   print(<foo);
-//             ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:37:9: Error: Expected an identifier, but got '>'.
-//   print(>foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:38:9: Error: Expected an identifier, but got '<='.
-//   print(<=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:39:9: Error: Expected an identifier, but got '>='.
-//   print(>=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: Expected an identifier, but got '=='.
-//   print(==foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//   print(+foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:42:9: Error: Expected an identifier, but got '/'.
-//   print(/foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:43:9: Error: Expected an identifier, but got '~/'.
-//   print(~/foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:44:9: Error: Expected an identifier, but got '*'.
-//   print(*foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:45:9: Error: Expected an identifier, but got '%'.
-//   print(%foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:46:9: Error: Expected an identifier, but got '|'.
-//   print(|foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:47:9: Error: Expected an identifier, but got '^'.
-//   print(^foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:48:9: Error: Expected an identifier, but got '&'.
-//   print(&foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:49:9: Error: Expected an identifier, but got '<<'.
-//   print(<<foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:50:9: Error: Expected an identifier, but got '>>'.
-//   print(>>foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:54:13: Error: '~' isn't a binary operator.
-//   print(foo ~ 2);
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  core::print(foo.<(2));
-  core::print(foo.>(2));
-  core::print(foo.<=(2));
-  core::print(foo.>=(2));
-  core::print(foo.==(2));
-  core::print(foo.-(2));
-  core::print(foo.+(2));
-  core::print(foo./(2));
-  core::print(foo.~/(2));
-  core::print(foo.*(2));
-  core::print(foo.%(2));
-  core::print(foo.|(2));
-  core::print(foo.^(2));
-  core::print(foo.&(2));
-  core::print(foo.<<(2));
-  core::print(foo.>>(2));
-  core::print(let final dynamic #t1 = foo in let final dynamic #t2 = 2 in let final dynamic #t3 = 2 in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3);
-  core::print(foo.[](2));
-  core::print(foo.~());
-  core::print(foo.unary-());
-  core::print(<invalid-type>[]);
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:37:9: Error: This couldn't be parsed.
-  print(>foo);
-        ^".>(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:38:9: Error: This couldn't be parsed.
-  print(<=foo);
-        ^".<=(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:39:9: Error: This couldn't be parsed.
-  print(>=foo);
-        ^".>=(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: This couldn't be parsed.
-  print(==foo);
-        ^".==(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: This couldn't be parsed.
-  print(+foo);
-        ^".+(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:42:9: Error: This couldn't be parsed.
-  print(/foo);
-        ^"./(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:43:9: Error: This couldn't be parsed.
-  print(~/foo);
-        ^".~/(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:44:9: Error: This couldn't be parsed.
-  print(*foo);
-        ^".*(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:45:9: Error: This couldn't be parsed.
-  print(%foo);
-        ^".%(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:46:9: Error: This couldn't be parsed.
-  print(|foo);
-        ^".|(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:47:9: Error: This couldn't be parsed.
-  print(^foo);
-        ^".^(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:48:9: Error: This couldn't be parsed.
-  print(&foo);
-        ^".&(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:49:9: Error: This couldn't be parsed.
-  print(<<foo);
-        ^".<<(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:50:9: Error: This couldn't be parsed.
-  print(>>foo);
-        ^".>>(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:54:13: Error: '~' isn't a binary operator.
-  print(foo ~ 2);
-            ^");
-}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.legacy.transformed.expect
deleted file mode 100644
index e7a6f6c..0000000
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,154 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:36:10: Warning: 'foo' isn't a type.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:36:10: Error: Expected '>' after this.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:36:13: Error: Expected '[' before this.
-//   print(<foo);
-//             ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:37:9: Error: Expected an identifier, but got '>'.
-//   print(>foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:38:9: Error: Expected an identifier, but got '<='.
-//   print(<=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:39:9: Error: Expected an identifier, but got '>='.
-//   print(>=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: Expected an identifier, but got '=='.
-//   print(==foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//   print(+foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:42:9: Error: Expected an identifier, but got '/'.
-//   print(/foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:43:9: Error: Expected an identifier, but got '~/'.
-//   print(~/foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:44:9: Error: Expected an identifier, but got '*'.
-//   print(*foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:45:9: Error: Expected an identifier, but got '%'.
-//   print(%foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:46:9: Error: Expected an identifier, but got '|'.
-//   print(|foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:47:9: Error: Expected an identifier, but got '^'.
-//   print(^foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:48:9: Error: Expected an identifier, but got '&'.
-//   print(&foo);
-//         ^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:49:9: Error: Expected an identifier, but got '<<'.
-//   print(<<foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:50:9: Error: Expected an identifier, but got '>>'.
-//   print(>>foo);
-//         ^^
-//
-// pkg/front_end/testcases/general/operator_method_not_found.dart:54:13: Error: '~' isn't a binary operator.
-//   print(foo ~ 2);
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  core::print(foo.<(2));
-  core::print(foo.>(2));
-  core::print(foo.<=(2));
-  core::print(foo.>=(2));
-  core::print(foo.==(2));
-  core::print(foo.-(2));
-  core::print(foo.+(2));
-  core::print(foo./(2));
-  core::print(foo.~/(2));
-  core::print(foo.*(2));
-  core::print(foo.%(2));
-  core::print(foo.|(2));
-  core::print(foo.^(2));
-  core::print(foo.&(2));
-  core::print(foo.<<(2));
-  core::print(foo.>>(2));
-  core::print(let final dynamic #t1 = foo in let final dynamic #t2 = 2 in let final dynamic #t3 = 2 in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3);
-  core::print(foo.[](2));
-  core::print(foo.~());
-  core::print(foo.unary-());
-  core::print(<invalid-type>[]);
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:37:9: Error: This couldn't be parsed.
-  print(>foo);
-        ^".>(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:38:9: Error: This couldn't be parsed.
-  print(<=foo);
-        ^".<=(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:39:9: Error: This couldn't be parsed.
-  print(>=foo);
-        ^".>=(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: This couldn't be parsed.
-  print(==foo);
-        ^".==(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: This couldn't be parsed.
-  print(+foo);
-        ^".+(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:42:9: Error: This couldn't be parsed.
-  print(/foo);
-        ^"./(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:43:9: Error: This couldn't be parsed.
-  print(~/foo);
-        ^".~/(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:44:9: Error: This couldn't be parsed.
-  print(*foo);
-        ^".*(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:45:9: Error: This couldn't be parsed.
-  print(%foo);
-        ^".%(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:46:9: Error: This couldn't be parsed.
-  print(|foo);
-        ^".|(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:47:9: Error: This couldn't be parsed.
-  print(^foo);
-        ^".^(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:48:9: Error: This couldn't be parsed.
-  print(&foo);
-        ^".&(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:49:9: Error: This couldn't be parsed.
-  print(<<foo);
-        ^".<<(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:50:9: Error: This couldn't be parsed.
-  print(>>foo);
-        ^".>>(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:54:13: Error: '~' isn't a binary operator.
-  print(foo ~ 2);
-            ^");
-}
diff --git a/pkg/front_end/testcases/general/operators.dart.legacy.expect b/pkg/front_end/testcases/general/operators.dart.legacy.expect
deleted file mode 100644
index 4f24fdf..0000000
--- a/pkg/front_end/testcases/general/operators.dart.legacy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Operators extends core::Object {
-  synthetic constructor •() → self::Operators*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-  operator &(dynamic other) → dynamic
-    return null;
-  operator ~() → dynamic
-    return null;
-  operator |(dynamic other) → dynamic
-    return null;
-  operator ^(dynamic other) → dynamic
-    return null;
-  operator /(dynamic other) → dynamic
-    return null;
-  operator ==(dynamic other) → core::bool*
-    return null;
-  operator >(dynamic other) → dynamic
-    return null;
-  operator >=(dynamic other) → dynamic
-    return null;
-  operator [](dynamic index) → dynamic
-    return null;
-  operator []=(dynamic index, dynamic value) → void {}
-  operator <<(dynamic other) → dynamic
-    return null;
-  operator <(dynamic other) → dynamic
-    return null;
-  operator <=(dynamic other) → dynamic
-    return null;
-  operator *(dynamic other) → dynamic
-    return null;
-  operator %(dynamic other) → dynamic
-    return null;
-  operator >>(dynamic other) → dynamic
-    return null;
-  operator -(dynamic other) → dynamic
-    return null;
-  operator ~/(dynamic other) → dynamic
-    return null;
-  operator unary-() → dynamic
-    return null;
-}
-static method main(dynamic arguments) → dynamic {
-  dynamic a = new self::Operators::•();
-  dynamic b = new self::Operators::•();
-  a.+(b);
-  a.&(b);
-  a.~();
-  a.|(b);
-  a.^(b);
-  a./(b);
-  a.==(b);
-  a.>(b);
-  a.>=(b);
-  a.[](0);
-  a.[]=(0, b);
-  a.<<(b);
-  a.<(b);
-  a.<=(b);
-  a.*(b);
-  a.%(b);
-  a.>>(b);
-  a.-(b);
-  a.~/(b);
-  a.unary-();
-}
diff --git a/pkg/front_end/testcases/general/operators.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/operators.dart.legacy.transformed.expect
deleted file mode 100644
index 4f24fdf..0000000
--- a/pkg/front_end/testcases/general/operators.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Operators extends core::Object {
-  synthetic constructor •() → self::Operators*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-  operator &(dynamic other) → dynamic
-    return null;
-  operator ~() → dynamic
-    return null;
-  operator |(dynamic other) → dynamic
-    return null;
-  operator ^(dynamic other) → dynamic
-    return null;
-  operator /(dynamic other) → dynamic
-    return null;
-  operator ==(dynamic other) → core::bool*
-    return null;
-  operator >(dynamic other) → dynamic
-    return null;
-  operator >=(dynamic other) → dynamic
-    return null;
-  operator [](dynamic index) → dynamic
-    return null;
-  operator []=(dynamic index, dynamic value) → void {}
-  operator <<(dynamic other) → dynamic
-    return null;
-  operator <(dynamic other) → dynamic
-    return null;
-  operator <=(dynamic other) → dynamic
-    return null;
-  operator *(dynamic other) → dynamic
-    return null;
-  operator %(dynamic other) → dynamic
-    return null;
-  operator >>(dynamic other) → dynamic
-    return null;
-  operator -(dynamic other) → dynamic
-    return null;
-  operator ~/(dynamic other) → dynamic
-    return null;
-  operator unary-() → dynamic
-    return null;
-}
-static method main(dynamic arguments) → dynamic {
-  dynamic a = new self::Operators::•();
-  dynamic b = new self::Operators::•();
-  a.+(b);
-  a.&(b);
-  a.~();
-  a.|(b);
-  a.^(b);
-  a./(b);
-  a.==(b);
-  a.>(b);
-  a.>=(b);
-  a.[](0);
-  a.[]=(0, b);
-  a.<<(b);
-  a.<(b);
-  a.<=(b);
-  a.*(b);
-  a.%(b);
-  a.>>(b);
-  a.-(b);
-  a.~/(b);
-  a.unary-();
-}
diff --git a/pkg/front_end/testcases/general/optional.dart.legacy.expect b/pkg/front_end/testcases/general/optional.dart.legacy.expect
deleted file mode 100644
index eb5ddb9..0000000
--- a/pkg/front_end/testcases/general/optional.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method method(dynamic x, [dynamic y, dynamic z]) → dynamic {
-    return "string";
-  }
-}
-abstract class External extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract method externalMethod(core::int x, [core::int y, core::int z]) → core::String;
-  abstract method listen(self::Listener listener) → void;
-}
-abstract class Listener extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract method event(core::String input, [core::int x, core::int y]) → void;
-}
-class TestListener extends self::Listener {
-  synthetic constructor •() → void
-    : super self::Listener::•()
-    ;
-  method event(dynamic input, [dynamic x, dynamic y]) → void {}
-}
-class ExtendedListener extends self::Listener {
-  synthetic constructor •() → void
-    : super self::Listener::•()
-    ;
-  method event(dynamic input, [dynamic x, dynamic y, dynamic z]) → void {}
-}
-class InvalidListener extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method event(dynamic input, [dynamic x]) → void {}
-}
-external static method createExternal() → self::External;
-static method main() → dynamic {
-  dynamic foo = new self::Foo::•();
-  dynamic string1 = foo.method(1);
-  dynamic string2 = foo.method(1, 2);
-  dynamic string3 = foo.method(1, 2, 3);
-  dynamic extern = self::createExternal();
-  dynamic string4 = extern.externalMethod(1);
-  dynamic string5 = extern.externalMethod(1, 2);
-  dynamic string6 = extern.externalMethod(1, 2, 3);
-  extern.listen(new self::TestListener::•());
-  extern.listen(new self::ExtendedListener::•());
-  extern.listen(new self::InvalidListener::•());
-  dynamic nothing1 = foo.method();
-  dynamic nothing2 = foo.method(1, 2, 3, 4);
-  dynamic nothing3 = extern.externalMethod();
-  dynamic nothing4 = extern.externalMethod(1, 2, 3, 4);
-}
diff --git a/pkg/front_end/testcases/general/override.dart.legacy.expect b/pkg/front_end/testcases/general/override.dart.legacy.expect
deleted file mode 100644
index 15d59c8..0000000
--- a/pkg/front_end/testcases/general/override.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar extends self::Foo {
-  synthetic constructor •() → self::Bar*
-    : super self::Foo::•()
-    ;
-}
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-  method method() → self::Foo* {
-    return new self::Foo::•();
-  }
-}
-class Sub extends self::Base {
-  synthetic constructor •() → self::Sub*
-    : super self::Base::•()
-    ;
-  method method() → self::Foo* {
-    return new self::Bar::•();
-  }
-}
-static method main(core::List<core::String*>* args) → dynamic {
-  dynamic object = args.length.==(0) ? new self::Base::•() : new self::Sub::•();
-  dynamic a = object.method();
-  core::print(a);
-}
diff --git a/pkg/front_end/testcases/general/override.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override.dart.legacy.transformed.expect
deleted file mode 100644
index 15d59c8..0000000
--- a/pkg/front_end/testcases/general/override.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar extends self::Foo {
-  synthetic constructor •() → self::Bar*
-    : super self::Foo::•()
-    ;
-}
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-  method method() → self::Foo* {
-    return new self::Foo::•();
-  }
-}
-class Sub extends self::Base {
-  synthetic constructor •() → self::Sub*
-    : super self::Base::•()
-    ;
-  method method() → self::Foo* {
-    return new self::Bar::•();
-  }
-}
-static method main(core::List<core::String*>* args) → dynamic {
-  dynamic object = args.length.==(0) ? new self::Base::•() : new self::Sub::•();
-  dynamic a = object.method();
-  core::print(a);
-}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.legacy.expect
deleted file mode 100644
index 739abe0..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.legacy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class F extends self::D {
-  synthetic constructor •() → self::F*
-    : super self::D::•()
-    ;
-  set x(self::B* value) → void {}
-  get y() → self::A*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 739abe0..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class F extends self::D {
-  synthetic constructor •() → self::F*
-    : super self::D::•()
-    ;
-  set x(self::B* value) → void {}
-  get y() → self::A*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.legacy.expect
deleted file mode 100644
index 26bdb05..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::A*
-    return null;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(core::Object* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class E extends self::C {
-  synthetic constructor •() → self::E*
-    : super self::C::•()
-    ;
-  set x(self::B* value) → void {}
-  get y() → core::Object*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.legacy.transformed.expect
deleted file mode 100644
index 26bdb05..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(self::A* value) → void {}
-  get y() → self::A*
-    return null;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(core::Object* value) → void {}
-  get y() → self::B*
-    return null;
-}
-class E extends self::C {
-  synthetic constructor •() → self::E*
-    : super self::C::•()
-    ;
-  set x(self::B* value) → void {}
-  get y() → core::Object*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.legacy.expect
deleted file mode 100644
index 917db56..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x1(covariant self::A* value) → void {}
-  set x2(self::A* value) → void {}
-  set x3(covariant self::A* value) → void {}
-  set x4(self::A* value) → void {}
-  set x5(covariant self::A* value) → void {}
-  set x6(covariant self::B* value) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x1(covariant self::B* value) → void {}
-  set x2(covariant self::B* value) → void {}
-  set x3(covariant self::B* value) → void {}
-  set x4(self::B* value) → void {}
-  set x5(covariant core::String* value) → void {}
-  set x6(covariant self::A* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect
deleted file mode 100644
index 917db56..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x1(covariant self::A* value) → void {}
-  set x2(self::A* value) → void {}
-  set x3(covariant self::A* value) → void {}
-  set x4(self::A* value) → void {}
-  set x5(covariant self::A* value) → void {}
-  set x6(covariant self::B* value) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x1(covariant self::B* value) → void {}
-  set x2(covariant self::B* value) → void {}
-  set x3(covariant self::B* value) → void {}
-  set x4(self::B* value) → void {}
-  set x5(covariant core::String* value) → void {}
-  set x6(covariant self::A* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.legacy.expect
deleted file mode 100644
index ebfa2bd..0000000
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(self::A* x) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f(self::A* x) → void {}
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method f(self::A* x) → void {}
-}
-class F extends self::D {
-  synthetic constructor •() → self::F*
-    : super self::D::•()
-    ;
-  method f(self::B* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.legacy.transformed.expect
deleted file mode 100644
index ebfa2bd..0000000
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(self::A* x) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f(self::A* x) → void {}
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method f(self::A* x) → void {}
-}
-class F extends self::D {
-  synthetic constructor •() → self::F*
-    : super self::D::•()
-    ;
-  method f(self::B* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_basic.dart.legacy.expect
deleted file mode 100644
index 98dbd08..0000000
--- a/pkg/front_end/testcases/general/override_check_basic.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f1(self::A* x) → void {}
-  method f2([self::A* x = #C1]) → void {}
-  method f3({self::A* x = #C1}) → void {}
-  method f4() → self::A* {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f1(core::Object* x) → void {}
-  method f2([core::Object* x = #C1]) → void {}
-  method f3({core::Object* x = #C1}) → void {}
-  method f4() → self::B* {}
-}
-class E extends self::C {
-  synthetic constructor •() → self::E*
-    : super self::C::•()
-    ;
-  method f1(self::B* x) → void {}
-  method f2([self::B* x = #C1]) → void {}
-  method f3({self::B* x = #C1}) → void {}
-  method f4() → core::Object* {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_basic.dart.legacy.transformed.expect
deleted file mode 100644
index 98dbd08..0000000
--- a/pkg/front_end/testcases/general/override_check_basic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f1(self::A* x) → void {}
-  method f2([self::A* x = #C1]) → void {}
-  method f3({self::A* x = #C1}) → void {}
-  method f4() → self::A* {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f1(core::Object* x) → void {}
-  method f2([core::Object* x = #C1]) → void {}
-  method f3({core::Object* x = #C1}) → void {}
-  method f4() → self::B* {}
-}
-class E extends self::C {
-  synthetic constructor •() → self::E*
-    : super self::C::•()
-    ;
-  method f1(self::B* x) → void {}
-  method f2([self::B* x = #C1]) → void {}
-  method f3({self::B* x = #C1}) → void {}
-  method f4() → core::Object* {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.legacy.expect
deleted file mode 100644
index 1ad8fd1..0000000
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends self::Foo<self::Foo::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract method fisk<S extends self::Foo<self::Bar::fisk::S>* = dynamic>() → void;
-}
-class Hest extends core::Object implements self::Bar {
-  synthetic constructor •() → self::Hest*
-    : super core::Object::•()
-    ;
-  @#C1
-  method fisk<U extends self::Foo<self::Hest::fisk::U>* = dynamic>() → void {}
-}
-static method main() → void {}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.legacy.transformed.expect
deleted file mode 100644
index 1ad8fd1..0000000
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends self::Foo<self::Foo::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract method fisk<S extends self::Foo<self::Bar::fisk::S>* = dynamic>() → void;
-}
-class Hest extends core::Object implements self::Bar {
-  synthetic constructor •() → self::Hest*
-    : super core::Object::•()
-    ;
-  @#C1
-  method fisk<U extends self::Foo<self::Hest::fisk::U>* = dynamic>() → void {}
-}
-static method main() → void {}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.legacy.expect
deleted file mode 100644
index ac75a46..0000000
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(generic-covariant-impl core::Map<self::A::T*, self::A::f::U*>* m) → void {}
-}
-class B extends self::A<core::String*> {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method f<V extends core::Object* = dynamic>(generic-covariant-impl core::Map<core::String*, self::B::f::V*>* m) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.legacy.transformed.expect
deleted file mode 100644
index ac75a46..0000000
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(generic-covariant-impl core::Map<self::A::T*, self::A::f::U*>* m) → void {}
-}
-class B extends self::A<core::String*> {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method f<V extends core::Object* = dynamic>(generic-covariant-impl core::Map<core::String*, self::B::f::V*>* m) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.legacy.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.legacy.expect
deleted file mode 100644
index 2e966d1..0000000
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f1(covariant self::A* x) → void {}
-  method f2(self::A* x) → void {}
-  method f3(covariant self::A* x) → void {}
-  method f4(self::A* x) → void {}
-  method f5(covariant self::A* x) → void {}
-  method f6(covariant self::B* x) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f1(covariant self::B* x) → void {}
-  method f2(covariant self::B* x) → void {}
-  method f3(covariant self::B* x) → void {}
-  method f4(self::B* x) → void {}
-  method f5(covariant core::String* x) → void {}
-  method f6(covariant self::A* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.legacy.transformed.expect
deleted file mode 100644
index 2e966d1..0000000
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f1(covariant self::A* x) → void {}
-  method f2(self::A* x) → void {}
-  method f3(covariant self::A* x) → void {}
-  method f4(self::A* x) → void {}
-  method f5(covariant self::A* x) → void {}
-  method f6(covariant self::B* x) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f1(covariant self::B* x) → void {}
-  method f2(covariant self::B* x) → void {}
-  method f3(covariant self::B* x) → void {}
-  method f4(self::B* x) → void {}
-  method f5(covariant core::String* x) → void {}
-  method f6(covariant self::A* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.legacy.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.legacy.expect
deleted file mode 100644
index 648154f..0000000
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get foo() → core::num*
-    return null;
-  set foo(dynamic newFoo) → void {}
-}
-class A extends self::B {
-  synthetic constructor •() → self::A*
-    : super self::B::•()
-    ;
-  set foo(dynamic newFoo) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.legacy.transformed.expect
deleted file mode 100644
index 648154f..0000000
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get foo() → core::num*
-    return null;
-  set foo(dynamic newFoo) → void {}
-}
-class A extends self::B {
-  synthetic constructor •() → self::A*
-    : super self::B::•()
-    ;
-  set foo(dynamic newFoo) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.legacy.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.legacy.expect
deleted file mode 100644
index 635d689..0000000
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
-}
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
-}
-class B1 extends self::A1 {
-  synthetic constructor •() → self::B1*
-    : super self::A1::•()
-    ;
-  method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
-}
-class C1 extends self::B1 {
-  synthetic constructor •() → self::C1*
-    : super self::B1::•()
-    ;
-  method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = true
-  #C2 = null
-}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.legacy.transformed.expect
deleted file mode 100644
index 635d689..0000000
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
-}
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    : super core::Object::•()
-    ;
-  method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
-}
-class B1 extends self::A1 {
-  synthetic constructor •() → self::B1*
-    : super self::A1::•()
-    ;
-  method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
-}
-class C1 extends self::B1 {
-  synthetic constructor •() → self::C1*
-    : super self::B1::•()
-    ;
-  method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = true
-  #C2 = null
-}
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.legacy.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.legacy.expect
deleted file mode 100644
index b77b0c2..0000000
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-part part_as_entry_point.dart;
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.legacy.transformed.expect
deleted file mode 100644
index b77b0c2..0000000
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-part part_as_entry_point.dart;
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.legacy.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.legacy.expect
deleted file mode 100644
index f22e87e..0000000
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_not_part_of.dart:8:6: Error: Can't use 'pkg/front_end/testcases/general/part_not_part_of_lib1.dart' as a part, because it has no 'part of' declaration.
-// part 'part_not_part_of_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_not_part_of_lib2.dart";
-
-@#C1
-part part_not_part_of_lib1.dart;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "part_not_part_of_lib1.dart" as par;
-
-import "org-dartlang-testcase:///part_not_part_of_lib1.dart";
-
-static method methodFromLib2() → dynamic {
-  par::methodFromLib1();
-}
-
-library;
-import self as par;
-
-static method methodFromLib1() → dynamic {}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.legacy.transformed.expect
deleted file mode 100644
index f22e87e..0000000
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_not_part_of.dart:8:6: Error: Can't use 'pkg/front_end/testcases/general/part_not_part_of_lib1.dart' as a part, because it has no 'part of' declaration.
-// part 'part_not_part_of_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_not_part_of_lib2.dart";
-
-@#C1
-part part_not_part_of_lib1.dart;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "part_not_part_of_lib1.dart" as par;
-
-import "org-dartlang-testcase:///part_not_part_of_lib1.dart";
-
-static method methodFromLib2() → dynamic {
-  par::methodFromLib1();
-}
-
-library;
-import self as par;
-
-static method methodFromLib1() → dynamic {}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.legacy.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.legacy.expect
deleted file mode 100644
index 094c4da..0000000
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart' as part of 'pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart' but its 'part of' declaration says 'foo'.
-// Try changing the 'part of' declaration to use a relative file name.
-// part 'part_not_part_of_same_named_library_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_not_part_of_same_named_library_lib2.dart";
-
-@#C1
-part part_not_part_of_same_named_library_lib1.dart;
-static method main() → dynamic {}
-
-library foo;
-import self as self2;
-
-part part_not_part_of_same_named_library_lib1.dart;
-static method /* from org-dartlang-testcase:///part_not_part_of_same_named_library_lib1.dart */ methodFromLib1() → dynamic {}
-static method methodFromLib2() → dynamic {
-  self2::methodFromLib1();
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.legacy.transformed.expect
deleted file mode 100644
index 094c4da..0000000
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart' as part of 'pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart' but its 'part of' declaration says 'foo'.
-// Try changing the 'part of' declaration to use a relative file name.
-// part 'part_not_part_of_same_named_library_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_not_part_of_same_named_library_lib2.dart";
-
-@#C1
-part part_not_part_of_same_named_library_lib1.dart;
-static method main() → dynamic {}
-
-library foo;
-import self as self2;
-
-part part_not_part_of_same_named_library_lib1.dart;
-static method /* from org-dartlang-testcase:///part_not_part_of_same_named_library_lib1.dart */ methodFromLib1() → dynamic {}
-static method methodFromLib2() → dynamic {
-  self2::methodFromLib1();
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.legacy.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.legacy.expect
deleted file mode 100644
index 0d57452..0000000
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart' as part of 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart' but its 'part of' declaration says 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart'.
-// part 'part_part_of_different_unnamed_library_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_part_of_different_unnamed_library_lib2.dart";
-
-@#C1
-part part_part_of_different_unnamed_library_lib1.dart;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-
-part part_part_of_different_unnamed_library_lib1.dart;
-static method /* from org-dartlang-testcase:///part_part_of_different_unnamed_library_lib1.dart */ methodFromLib1() → dynamic {}
-static method methodFromLib2() → dynamic {
-  self2::methodFromLib1();
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.legacy.transformed.expect
deleted file mode 100644
index 0d57452..0000000
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart' as part of 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart' but its 'part of' declaration says 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart'.
-// part 'part_part_of_different_unnamed_library_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_part_of_different_unnamed_library_lib2.dart";
-
-@#C1
-part part_part_of_different_unnamed_library_lib1.dart;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-
-part part_part_of_different_unnamed_library_lib1.dart;
-static method /* from org-dartlang-testcase:///part_part_of_different_unnamed_library_lib1.dart */ methodFromLib1() → dynamic {}
-static method methodFromLib2() → dynamic {
-  self2::methodFromLib1();
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.legacy.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.legacy.expect
deleted file mode 100644
index abc4112..0000000
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library foo;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_part_of_differently_named_library.dart:10:6: Warning: Using 'pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart' as part of 'foo' but its 'part of' declaration says 'bar'.
-// part 'part_part_of_differently_named_library_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_part_of_differently_named_library_lib2.dart";
-
-@#C1
-part part_part_of_differently_named_library_lib1.dart;
-static method main() → dynamic {}
-
-library bar;
-import self as self2;
-
-part part_part_of_differently_named_library_lib1.dart;
-static method /* from org-dartlang-testcase:///part_part_of_differently_named_library_lib1.dart */ methodFromLib1() → dynamic {}
-static method methodFromLib2() → dynamic {
-  self2::methodFromLib1();
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.legacy.transformed.expect
deleted file mode 100644
index abc4112..0000000
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library foo;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/part_part_of_differently_named_library.dart:10:6: Warning: Using 'pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart' as part of 'foo' but its 'part of' declaration says 'bar'.
-// part 'part_part_of_differently_named_library_lib1.dart';
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///part_part_of_differently_named_library_lib2.dart";
-
-@#C1
-part part_part_of_differently_named_library_lib1.dart;
-static method main() → dynamic {}
-
-library bar;
-import self as self2;
-
-part part_part_of_differently_named_library_lib1.dart;
-static method /* from org-dartlang-testcase:///part_part_of_differently_named_library_lib1.dart */ methodFromLib1() → dynamic {}
-static method methodFromLib2() → dynamic {
-  self2::methodFromLib1();
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general/platform.dart.legacy.expect b/pkg/front_end/testcases/general/platform.dart.legacy.expect
deleted file mode 100644
index bef6d48..0000000
--- a/pkg/front_end/testcases/general/platform.dart.legacy.expect
+++ /dev/null
@@ -1,4 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/platform.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/platform.dart.legacy.transformed.expect
deleted file mode 100644
index bef6d48..0000000
--- a/pkg/front_end/testcases/general/platform.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,4 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.legacy.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.legacy.expect
deleted file mode 100644
index d3d9325..0000000
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class AB1 extends self::A implements self::B {
-  synthetic constructor •() → self::AB1*
-    : super self::A::•()
-    ;
-}
-class AB2 extends self::A implements self::B {
-  synthetic constructor •() → self::AB2*
-    : super self::A::•()
-    ;
-}
-class BA1 extends self::B implements self::A {
-  synthetic constructor •() → self::BA1*
-    : super self::B::•()
-    ;
-}
-class BA2 extends self::B implements self::A {
-  synthetic constructor •() → self::BA2*
-    : super self::B::•()
-    ;
-}
-static method takeSubclassOfA(dynamic obj) → dynamic {}
-static method takeSubclassOfB(dynamic obj) → dynamic {}
-static method main() → dynamic {
-  self::takeSubclassOfA(new self::AB1::•());
-  self::takeSubclassOfA(new self::AB2::•());
-  self::takeSubclassOfB(new self::BA1::•());
-  self::takeSubclassOfB(new self::BA2::•());
-}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.legacy.transformed.expect
deleted file mode 100644
index d3d9325..0000000
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class AB1 extends self::A implements self::B {
-  synthetic constructor •() → self::AB1*
-    : super self::A::•()
-    ;
-}
-class AB2 extends self::A implements self::B {
-  synthetic constructor •() → self::AB2*
-    : super self::A::•()
-    ;
-}
-class BA1 extends self::B implements self::A {
-  synthetic constructor •() → self::BA1*
-    : super self::B::•()
-    ;
-}
-class BA2 extends self::B implements self::A {
-  synthetic constructor •() → self::BA2*
-    : super self::B::•()
-    ;
-}
-static method takeSubclassOfA(dynamic obj) → dynamic {}
-static method takeSubclassOfB(dynamic obj) → dynamic {}
-static method main() → dynamic {
-  self::takeSubclassOfA(new self::AB1::•());
-  self::takeSubclassOfA(new self::AB2::•());
-  self::takeSubclassOfB(new self::BA1::•());
-  self::takeSubclassOfB(new self::BA2::•());
-}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.legacy.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.legacy.expect
deleted file mode 100644
index 8eaac35..0000000
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.legacy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "private_method_tearoff_lib.dart" as pri;
-
-import "org-dartlang-testcase:///private_method_tearoff_lib.dart";
-
-class Foo extends core::Object implements pri::Bar {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class Baz extends self::Foo {
-  synthetic constructor •() → self::Baz*
-    : super self::Foo::•()
-    ;
-}
-static method main() → dynamic {
-  pri::baz(new self::Foo::•());
-}
-
-library;
-import self as pri;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  synthetic constructor •() → pri::Bar*
-    : super core::Object::•()
-    ;
-  method _f() → void {}
-}
-static method baz(pri::Bar* bar) → void {
-  core::print("${bar._f.runtimeType}");
-}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///private_method_tearoff.dart::_f
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.legacy.transformed.expect
deleted file mode 100644
index 8eaac35..0000000
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "private_method_tearoff_lib.dart" as pri;
-
-import "org-dartlang-testcase:///private_method_tearoff_lib.dart";
-
-class Foo extends core::Object implements pri::Bar {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class Baz extends self::Foo {
-  synthetic constructor •() → self::Baz*
-    : super self::Foo::•()
-    ;
-}
-static method main() → dynamic {
-  pri::baz(new self::Foo::•());
-}
-
-library;
-import self as pri;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  synthetic constructor •() → pri::Bar*
-    : super core::Object::•()
-    ;
-  method _f() → void {}
-}
-static method baz(pri::Bar* bar) → void {
-  core::print("${bar._f.runtimeType}");
-}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///private_method_tearoff.dart::_f
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.legacy.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.legacy.expect
deleted file mode 100644
index 59a106f..0000000
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-import self as self;
-import "public_method_tearoff_lib.dart" as pub;
-
-import "org-dartlang-testcase:///public_method_tearoff_lib.dart";
-
-class Foo extends pub::Bar {
-  synthetic constructor •() → self::Foo*
-    : super pub::Bar::•()
-    ;
-}
-static method main() → void {
-  pub::baz(new self::Foo::•());
-}
-
-library;
-import self as pub;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  synthetic constructor •() → pub::Bar*
-    : super core::Object::•()
-    ;
-  method f() → void {}
-}
-static method baz(pub::Bar* bar) → void {
-  core::print("${bar.f.runtimeType}");
-}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.legacy.transformed.expect
deleted file mode 100644
index 59a106f..0000000
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-import self as self;
-import "public_method_tearoff_lib.dart" as pub;
-
-import "org-dartlang-testcase:///public_method_tearoff_lib.dart";
-
-class Foo extends pub::Bar {
-  synthetic constructor •() → self::Foo*
-    : super pub::Bar::•()
-    ;
-}
-static method main() → void {
-  pub::baz(new self::Foo::•());
-}
-
-library;
-import self as pub;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  synthetic constructor •() → pub::Bar*
-    : super core::Object::•()
-    ;
-  method f() → void {}
-}
-static method baz(pub::Bar* bar) → void {
-  core::print("${bar.f.runtimeType}");
-}
diff --git a/pkg/front_end/testcases/general/qualified.dart.legacy.expect b/pkg/front_end/testcases/general/qualified.dart.legacy.expect
deleted file mode 100644
index c2cbc68..0000000
--- a/pkg/front_end/testcases/general/qualified.dart.legacy.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test.qualified.main;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
-//   factory WrongName() {}
-//           ^^^^^^^^^
-// pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'.
-// class Bad extends lib.Missing {
-//       ^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:11:19: Warning: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:12:3: Warning: Type 'lib.Missing' not found.
-//   lib.Missing method() {}
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:11:19: Error: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:18:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
-// class IllegalSupertype extends lib.VoidFunction {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-import "qualified_lib.dart" as lib;
-
-import "org-dartlang-testcase:///qualified_lib.dart" as lib;
-
-part qualified_part.dart;
-class Bad extends core::Object {
-  method method() → invalid-type {}
-  static factory WrongName() → self::Bad* {}
-}
-abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin {
-  synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
-    : super lib::Supertype::•()
-    ;
-}
-class WithMixin extends self::_WithMixin&Supertype&Mixin {
-  synthetic constructor •() → self::WithMixin*
-    : super self::_WithMixin&Supertype&Mixin::•()
-    ;
-}
-class IllegalSupertype extends core::Object {
-  synthetic constructor •() → self::IllegalSupertype*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
-  static field dynamic _redirecting# = <dynamic>[self::C::b];
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  constructor a() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static factory b<T extends core::Object* = dynamic>() → self::C<self::C::b::T*>*
-    let dynamic #redirecting_factory = lib::C::b in let self::C::b::T* #typeArg0 = null in invalid-expression;
-}
-static method main() → dynamic {
-  new self::C::•<core::String*>();
-  new self::C::a<core::String*>();
-  new lib::C::a<core::String*>();
-  new lib::C::•<core::String*>();
-  new lib::C::a<core::String*>();
-  new lib::C::a<core::String*>();
-  new self::WithMixin::•().supertypeMethod();
-  new self::WithMixin::•().foo();
-  new self::IllegalSupertype::•();
-}
-
-library test.qualified.lib;
-import self as lib;
-import "dart:core" as core;
-import "qualified.dart" as self;
-
-import "org-dartlang-testcase:///qualified.dart" as main;
-
-typedef VoidFunction = () →* void;
-class C<T extends core::Object* = dynamic> extends self::C<lib::C::T*> {
-  static field dynamic _redirecting# = <dynamic>[lib::C::b];
-  constructor •() → lib::C<lib::C::T*>*
-    : super self::C::•()
-    ;
-  constructor a() → lib::C<lib::C::T*>*
-    : super self::C::•()
-    ;
-  static factory b<T extends core::Object* = dynamic>() → lib::C<lib::C::b::T*>*
-    let dynamic #redirecting_factory = lib::C::a in let lib::C::b::T* #typeArg0 = null in invalid-expression;
-}
-class Supertype extends core::Object {
-  synthetic constructor •() → lib::Supertype*
-    : super core::Object::•()
-    ;
-  method supertypeMethod() → dynamic {
-    core::print("I'm supertypeMethod form lib.Supertype");
-  }
-}
-abstract class Mixin extends core::Object {
-  synthetic constructor •() → lib::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    core::print("I'm Mixin.foo");
-  }
-}
diff --git a/pkg/front_end/testcases/general/qualified.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/qualified.dart.legacy.transformed.expect
deleted file mode 100644
index 1f969c7..0000000
--- a/pkg/front_end/testcases/general/qualified.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,114 +0,0 @@
-library test.qualified.main;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
-//   factory WrongName() {}
-//           ^^^^^^^^^
-// pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'.
-// class Bad extends lib.Missing {
-//       ^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:11:19: Warning: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:12:3: Warning: Type 'lib.Missing' not found.
-//   lib.Missing method() {}
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:11:19: Error: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/qualified.dart:18:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
-// class IllegalSupertype extends lib.VoidFunction {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-import "qualified_lib.dart" as lib;
-
-import "org-dartlang-testcase:///qualified_lib.dart" as lib;
-
-part qualified_part.dart;
-class Bad extends core::Object {
-  method method() → invalid-type {}
-  static factory WrongName() → self::Bad* {}
-}
-abstract class _WithMixin&Supertype&Mixin extends lib::Supertype implements lib::Mixin {
-  synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
-    : super lib::Supertype::•()
-    ;
-  method /* from org-dartlang-testcase:///qualified_lib.dart */ foo() → dynamic {
-    core::print("I'm Mixin.foo");
-  }
-}
-class WithMixin extends self::_WithMixin&Supertype&Mixin {
-  synthetic constructor •() → self::WithMixin*
-    : super self::_WithMixin&Supertype&Mixin::•()
-    ;
-}
-class IllegalSupertype extends core::Object {
-  synthetic constructor •() → self::IllegalSupertype*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
-  static field dynamic _redirecting# = <dynamic>[self::C::b];
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  constructor a() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static factory b<T extends core::Object* = dynamic>() → self::C<self::C::b::T*>*
-    let dynamic #redirecting_factory = lib::C::b in let self::C::b::T* #typeArg0 = null in invalid-expression;
-}
-static method main() → dynamic {
-  new self::C::•<core::String*>();
-  new self::C::a<core::String*>();
-  new lib::C::a<core::String*>();
-  new lib::C::•<core::String*>();
-  new lib::C::a<core::String*>();
-  new lib::C::a<core::String*>();
-  new self::WithMixin::•().supertypeMethod();
-  new self::WithMixin::•().foo();
-  new self::IllegalSupertype::•();
-}
-
-library test.qualified.lib;
-import self as lib;
-import "dart:core" as core;
-import "qualified.dart" as self;
-
-import "org-dartlang-testcase:///qualified.dart" as main;
-
-typedef VoidFunction = () →* void;
-class C<T extends core::Object* = dynamic> extends self::C<lib::C::T*> {
-  static field dynamic _redirecting# = <dynamic>[lib::C::b];
-  constructor •() → lib::C<lib::C::T*>*
-    : super self::C::•()
-    ;
-  constructor a() → lib::C<lib::C::T*>*
-    : super self::C::•()
-    ;
-  static factory b<T extends core::Object* = dynamic>() → lib::C<lib::C::b::T*>*
-    let dynamic #redirecting_factory = lib::C::a in let lib::C::b::T* #typeArg0 = null in invalid-expression;
-}
-class Supertype extends core::Object {
-  synthetic constructor •() → lib::Supertype*
-    : super core::Object::•()
-    ;
-  method supertypeMethod() → dynamic {
-    core::print("I'm supertypeMethod form lib.Supertype");
-  }
-}
-abstract class Mixin extends core::Object {
-  synthetic constructor •() → lib::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    core::print("I'm Mixin.foo");
-  }
-}
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.legacy.expect
deleted file mode 100644
index 64d4160..0000000
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::fisk];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory fisk() → self::A*
-    let dynamic #redirecting_factory = self::B::• in invalid-expression;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.legacy.transformed.expect
deleted file mode 100644
index 64d4160..0000000
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::fisk];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory fisk() → self::A*
-    let dynamic #redirecting_factory = self::B::• in invalid-expression;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.legacy.expect
deleted file mode 100644
index b77998f..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.legacy.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class FooBase<Tf extends core::Object> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::FooBase::•];
-  abstract get x() → core::int;
-  static factory •<Tf extends core::Object>(core::int x) → self::FooBase<self::FooBase::•::Tf>
-    let dynamic #redirecting_factory = self::Foo::• in invalid-expression;
-}
-abstract class Foo<T extends core::Object> extends core::Object implements self::FooBase<dynamic> {
-  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
-  static factory •<T extends core::Object>(core::int x) → self::Foo<self::Foo::•::T>
-    let dynamic #redirecting_factory = self::Bar::• in invalid-expression;
-}
-class Bar<Sb extends core::Object, Tb extends core::Object> extends core::Object implements self::Foo<self::Bar::Tb> {
-  field core::int x;
-  constructor •(core::int x) → void
-    : self::Bar::x = x, super core::Object::•() {
-    core::print("Bar<${self::Bar::Sb},${self::Bar::Tb}>");
-  }
-}
-class Builder<X extends core::Object> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method method() → dynamic {
-    return new self::Bar::•<core::String, self::Builder::X>(4);
-  }
-}
-class SimpleCase<A extends core::Object, B extends core::Object> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::SimpleCase::•];
-  static factory •<A extends core::Object, B extends core::Object>() → self::SimpleCase<self::SimpleCase::•::A, self::SimpleCase::•::B>
-    let dynamic #redirecting_factory = self::SimpleCaseImpl::• in invalid-expression;
-}
-class SimpleCaseImpl<Ai extends core::Object, Bi extends core::Object> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai, self::SimpleCaseImpl::Bi> {
-  static field dynamic _redirecting# = <dynamic>[self::SimpleCaseImpl::•];
-  static factory •<Ai extends core::Object, Bi extends core::Object>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai, self::SimpleCaseImpl::•::Bi>
-    let dynamic #redirecting_factory = self::SimpleCaseImpl2::• in invalid-expression;
-}
-class SimpleCaseImpl2<Ai2 extends core::Object, Bi2 extends core::Object> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2, self::SimpleCaseImpl2::Bi2> {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Base<M extends core::Object> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Mixin<M extends core::Object> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Mix<M extends core::Object> = self::Base<self::Mix::M> with self::Mixin<self::Mix::M> {
-  constructor •() → void
-    : super self::Base::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::Bar::•<core::String, core::double>(4).x);
-  new self::SimpleCaseImpl2::•<core::int, core::double>();
-  new self::Mix::•<core::double>();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.legacy.expect
deleted file mode 100644
index fb200fc..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library redirecting_factory_constructors.chain_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    ;
-  redirecting_factory first() = self::A::•;
-  redirecting_factory second() = self::A::first;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.legacy.expect
deleted file mode 100644
index 6a8a46f..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _X<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::_X::•];
-  static factory •<T extends core::Object* = dynamic>() → self::_X<self::_X::•::T*>*
-    let dynamic #redirecting_factory = self::_Y::• in let self::_X::•::T* #typeArg0 = null in invalid-expression;
-}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::_X<self::A::T*>* x;
-  constructor •(self::_X<self::A::T*>* x) → self::A<self::A::T*>*
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  constructor •() → self::B<self::B::T*>*
-    : super self::A::•(#C1)
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::B::•<dynamic>().x;
-  if(!(x is self::_Y<core::Null*>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.runtimeType}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<dynamic> {}
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 6a8a46f..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _X<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::_X::•];
-  static factory •<T extends core::Object* = dynamic>() → self::_X<self::_X::•::T*>*
-    let dynamic #redirecting_factory = self::_Y::• in let self::_X::•::T* #typeArg0 = null in invalid-expression;
-}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::_X<self::A::T*>* x;
-  constructor •(self::_X<self::A::T*>* x) → self::A<self::A::T*>*
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  constructor •() → self::B<self::B::T*>*
-    : super self::A::•(#C1)
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::B::•<dynamic>().x;
-  if(!(x is self::_Y<core::Null*>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.runtimeType}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<dynamic> {}
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.legacy.expect
deleted file mode 100644
index b9cfe87..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
-  constructor named(dynamic p) → self::Foo*
-    : super core::Object::•()
-    ;
-  @#C1
-  static factory •(@#C2 @#C3 dynamic p) → self::Foo*
-    let dynamic #redirecting_factory = self::Foo::named in invalid-expression;
-}
-static const field dynamic forParameter = #C2;
-static const field dynamic forFactoryItself = #C1;
-static const field dynamic anotherForParameter = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 2
-  #C2 = 1
-  #C3 = 3
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.legacy.transformed.expect
deleted file mode 100644
index b9cfe87..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
-  constructor named(dynamic p) → self::Foo*
-    : super core::Object::•()
-    ;
-  @#C1
-  static factory •(@#C2 @#C3 dynamic p) → self::Foo*
-    let dynamic #redirecting_factory = self::Foo::named in invalid-expression;
-}
-static const field dynamic forParameter = #C2;
-static const field dynamic forFactoryItself = #C1;
-static const field dynamic anotherForParameter = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 2
-  #C2 = 1
-  #C3 = 3
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.legacy.expect
deleted file mode 100644
index 2ea9699..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library redirecting_factory_constructors.simple_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    ;
-  redirecting_factory redir() = self::A::•;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.legacy.expect
deleted file mode 100644
index 9c67c20..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library redirecting_factory_constructors.typeargs_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Y extends self::X {
-  synthetic constructor •() → void
-    : super self::X::•()
-    ;
-}
-class A extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    ;
-  redirecting_factory redir() = self::B::•<self::Y>;
-}
-class B<T extends self::X> extends self::A {
-  constructor •() → void
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•<self::Y>();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.legacy.expect
deleted file mode 100644
index 8e10422..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library redirecting_factory_constructors.typeparam_test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object, S extends core::Object> extends core::Object {
-  constructor •(self::A::T t, self::A::S s) → void
-    : super core::Object::•()
-    ;
-  redirecting_factory redir<T extends core::Object, S extends core::Object>(T t, S s) = self::A::•<T, S>;
-}
-static method main() → dynamic {
-  new self::A::•<core::int, core::String>(42, "foobar");
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.legacy.expect
deleted file mode 100644
index 278afdd..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library redirecting_factory_constructors.typeparambounds_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Y extends self::X {
-  synthetic constructor •() → void
-    : super self::X::•()
-    ;
-}
-class A<T extends core::Object, S extends self::A::T> extends core::Object {
-  constructor •(self::A::T t, self::A::S s) → void
-    : super core::Object::•()
-    ;
-  redirecting_factory redir<T extends core::Object, S extends T>(T t, S s) = self::A::•<T, S>;
-}
-static method main() → dynamic {
-  new self::A::•<self::X, self::Y>(new self::X::•(), new self::Y::•());
-}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.legacy.expect
deleted file mode 100644
index ec60811..0000000
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-class Foo<T extends self::X* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Foo::T* x;
-  constructor fromX(self::X* _init) → self::Foo<self::Foo::T*>*
-    : this self::Foo::_internal(x: _init)
-    ;
-  constructor fromT(self::Foo::T* _init) → self::Foo<self::Foo::T*>*
-    : this self::Foo::_internal(x: _init)
-    ;
-  constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.legacy.transformed.expect
deleted file mode 100644
index ec60811..0000000
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-class Foo<T extends self::X* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Foo::T* x;
-  constructor fromX(self::X* _init) → self::Foo<self::Foo::T*>*
-    : this self::Foo::_internal(x: _init)
-    ;
-  constructor fromT(self::Foo::T* _init) → self::Foo<self::Foo::T*>*
-    : this self::Foo::_internal(x: _init)
-    ;
-  constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.legacy.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.legacy.expect
deleted file mode 100644
index 74a8f52..0000000
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Foo::T* x;
-  constructor from(core::String* _init) → self::Foo<self::Foo::T*>*
-    : this self::Foo::_internal(x: _init)
-    ;
-  constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.legacy.transformed.expect
deleted file mode 100644
index 74a8f52..0000000
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Foo::T* x;
-  constructor from(core::String* _init) → self::Foo<self::Foo::T*>*
-    : this self::Foo::_internal(x: _init)
-    ;
-  constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.legacy.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.legacy.expect
deleted file mode 100644
index cbfe339..0000000
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  constructor empty() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
-    let dynamic #redirecting_factory = self::B::• in let self::A::•::T* #typeArg0 = null in let core::num* #typeArg1 = null in invalid-expression;
-}
-class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
-  static field dynamic _redirecting# = <dynamic>[self::B::•];
-  constructor empty() → self::B<self::B::U*, self::B::W*>*
-    : super self::A::empty()
-    ;
-  static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
-    let dynamic #redirecting_factory = self::C::• in let self::B::•::U* #typeArg0 = null in let self::B::•::W* #typeArg1 = null in let core::String* #typeArg2 = null in invalid-expression;
-}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
-  constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
-    : super self::B::empty()
-    ;
-  method toString() → core::String*
-    return "${self::C::V*},${self::C::S*},${self::C::R*}";
-}
-static method main() → dynamic {
-  exp::Expect::equals("${new self::C::•<core::int*, core::num*, core::String*>()}", "int,num,String");
-}
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.legacy.transformed.expect
deleted file mode 100644
index cbfe339..0000000
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  constructor empty() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
-    let dynamic #redirecting_factory = self::B::• in let self::A::•::T* #typeArg0 = null in let core::num* #typeArg1 = null in invalid-expression;
-}
-class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
-  static field dynamic _redirecting# = <dynamic>[self::B::•];
-  constructor empty() → self::B<self::B::U*, self::B::W*>*
-    : super self::A::empty()
-    ;
-  static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
-    let dynamic #redirecting_factory = self::C::• in let self::B::•::U* #typeArg0 = null in let self::B::•::W* #typeArg1 = null in let core::String* #typeArg2 = null in invalid-expression;
-}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
-  constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
-    : super self::B::empty()
-    ;
-  method toString() → core::String*
-    return "${self::C::V*},${self::C::S*},${self::C::R*}";
-}
-static method main() → dynamic {
-  exp::Expect::equals("${new self::C::•<core::int*, core::num*, core::String*>()}", "int,num,String");
-}
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.legacy.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.legacy.expect
deleted file mode 100644
index 4009f40..0000000
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  constructor empty() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
-    let dynamic #redirecting_factory = self::B::• in let self::A::•::T* #typeArg0 = null in let core::List<self::A::•::T*>* #typeArg1 = null in invalid-expression;
-}
-abstract class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
-  static field dynamic _redirecting# = <dynamic>[self::B::•];
-  constructor empty() → self::B<self::B::U*, self::B::W*>*
-    : super self::A::empty()
-    ;
-  static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
-    let dynamic #redirecting_factory = self::C::• in let self::B::•::U* #typeArg0 = null in let self::B::•::W* #typeArg1 = null in let core::Map<self::B::•::U*, self::B::•::W*>* #typeArg2 = null in invalid-expression;
-}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
-  constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
-    : super self::B::empty()
-    ;
-  method toString() → core::String*
-    return "${self::C::V*},${self::C::S*},${self::C::R*}";
-}
-static method main() → dynamic {
-  exp::Expect::equals("${new self::C::•<core::int*, core::List<core::int*>*, core::Map<core::int*, core::List<core::int*>*>*>()}", "int,List<int>,Map<int, List<int>>");
-}
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect
deleted file mode 100644
index 4009f40..0000000
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  constructor empty() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
-    let dynamic #redirecting_factory = self::B::• in let self::A::•::T* #typeArg0 = null in let core::List<self::A::•::T*>* #typeArg1 = null in invalid-expression;
-}
-abstract class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
-  static field dynamic _redirecting# = <dynamic>[self::B::•];
-  constructor empty() → self::B<self::B::U*, self::B::W*>*
-    : super self::A::empty()
-    ;
-  static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
-    let dynamic #redirecting_factory = self::C::• in let self::B::•::U* #typeArg0 = null in let self::B::•::W* #typeArg1 = null in let core::Map<self::B::•::U*, self::B::•::W*>* #typeArg2 = null in invalid-expression;
-}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
-  constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
-    : super self::B::empty()
-    ;
-  method toString() → core::String*
-    return "${self::C::V*},${self::C::S*},${self::C::R*}";
-}
-static method main() → dynamic {
-  exp::Expect::equals("${new self::C::•<core::int*, core::List<core::int*>*, core::Map<core::int*, core::List<core::int*>*>*>()}", "int,List<int>,Map<int, List<int>>");
-}
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.legacy.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.legacy.expect
deleted file mode 100644
index a87fba5..0000000
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  const constructor empty() → self::A*
-    : super core::Object::•()
-    ;
-  static factory •() → self::A*
-    let dynamic #redirecting_factory = self::B::• in let core::String* #typeArg0 = null in invalid-expression;
-}
-class B<T extends core::Object* = dynamic> extends self::A {
-  const constructor •() → self::B<self::B::T*>*
-    : super self::A::empty()
-    ;
-  method toString() → core::String*
-    return "${self::B::T*}";
-}
-static method main() → void {
-  exp::Expect::equals("${#C1}", "String");
-}
-
-constants  {
-  #C1 = self::B<core::String*> {}
-}
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.legacy.transformed.expect
deleted file mode 100644
index a87fba5..0000000
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  const constructor empty() → self::A*
-    : super core::Object::•()
-    ;
-  static factory •() → self::A*
-    let dynamic #redirecting_factory = self::B::• in let core::String* #typeArg0 = null in invalid-expression;
-}
-class B<T extends core::Object* = dynamic> extends self::A {
-  const constructor •() → self::B<self::B::T*>*
-    : super self::A::empty()
-    ;
-  method toString() → core::String*
-    return "${self::B::T*}";
-}
-static method main() → void {
-  exp::Expect::equals("${#C1}", "String");
-}
-
-constants  {
-  #C1 = self::B<core::String*> {}
-}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.legacy.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.legacy.expect
deleted file mode 100644
index f283238..0000000
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends <TypeY extends core::Object* = dynamic>(TypeY) →* TypeY = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.legacy.transformed.expect
deleted file mode 100644
index f283238..0000000
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends <TypeY extends core::Object* = dynamic>(TypeY) →* TypeY = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.legacy.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.legacy.expect
deleted file mode 100644
index 0f426a8..0000000
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method f(core::List<dynamic>* x) → core::bool* {
-  return x.expand((dynamic y) → dynamic {
-    return y.split(",");
-  }).any((dynamic y) → dynamic => y.==("z"));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.legacy.transformed.expect
deleted file mode 100644
index 0f426a8..0000000
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method f(core::List<dynamic>* x) → core::bool* {
-  return x.expand((dynamic y) → dynamic {
-    return y.split(",");
-  }).any((dynamic y) → dynamic => y.==("z"));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.legacy.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.legacy.expect
deleted file mode 100644
index 0938a8d..0000000
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.legacy.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/sdk_diagnostic.dart:5:7: Error: The non-abstract class 'C' is missing implementations for these members:
-//  - Iterable.iterator
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class C extends Iterable<Object> {
-//       ^
-// sdk/lib/core/iterable.dart:154:19: Context: 'Iterable.iterator' is defined here.
-//   Iterator<E> get iterator;
-//                   ^^^^^^^^
-//
-// pkg/front_end/testcases/general/sdk_diagnostic.dart:12:8: Warning: Too few positional arguments: 1 required, 0 given.
-//   print(incorrectArgument: "fisk");
-//        ^
-// sdk/lib/core/print.dart:8:6: Context: Found this candidate, but the arguments don't match.
-// void print(Object object) {
-//      ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Iterable<core::Object*> {
-  synthetic constructor •() → self::C*
-    : super core::Iterable::•()
-    ;
-}
-static method test() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: "fisk"})));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #print
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = #incorrectArgument
-}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.legacy.transformed.expect
deleted file mode 100644
index 0938a8d..0000000
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/sdk_diagnostic.dart:5:7: Error: The non-abstract class 'C' is missing implementations for these members:
-//  - Iterable.iterator
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class C extends Iterable<Object> {
-//       ^
-// sdk/lib/core/iterable.dart:154:19: Context: 'Iterable.iterator' is defined here.
-//   Iterator<E> get iterator;
-//                   ^^^^^^^^
-//
-// pkg/front_end/testcases/general/sdk_diagnostic.dart:12:8: Warning: Too few positional arguments: 1 required, 0 given.
-//   print(incorrectArgument: "fisk");
-//        ^
-// sdk/lib/core/print.dart:8:6: Context: Found this candidate, but the arguments don't match.
-// void print(Object object) {
-//      ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Iterable<core::Object*> {
-  synthetic constructor •() → self::C*
-    : super core::Iterable::•()
-    ;
-}
-static method test() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: "fisk"})));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #print
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = #incorrectArgument
-}
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.legacy.expect b/pkg/front_end/testcases/general/spread_collection.dart.legacy.expect
deleted file mode 100644
index c727b7d..0000000
--- a/pkg/front_end/testcases/general/spread_collection.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/spread_collection.dart:8:5: Error: Unexpected token '...'.
-//     ...[2],
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:9:5: Error: Unexpected token '...?'.
-//     ...?[3]
-//     ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:13:5: Error: Unexpected token '...'.
-//     ...{2: 2},
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:14:5: Error: Unexpected token '...?'.
-//     ...?{3: 3}
-//     ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:18:5: Error: Unexpected token '...'.
-//     ...[2],
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:19:5: Error: Unexpected token '...?'.
-//     ...?[3]
-//     ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:21:22: Error: Unexpected token '...'.
-//   final aSetOrMap = {...foo()};
-//                      ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  final dynamic aList = <core::int*>[1];
-  final dynamic aMap = <core::int*, core::int*>{1: 1};
-  final dynamic aSet = <core::int*>{1};
-  final dynamic aSetOrMap = <dynamic, dynamic>{};
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/spread_collection.dart.legacy.transformed.expect
deleted file mode 100644
index c727b7d..0000000
--- a/pkg/front_end/testcases/general/spread_collection.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/spread_collection.dart:8:5: Error: Unexpected token '...'.
-//     ...[2],
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:9:5: Error: Unexpected token '...?'.
-//     ...?[3]
-//     ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:13:5: Error: Unexpected token '...'.
-//     ...{2: 2},
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:14:5: Error: Unexpected token '...?'.
-//     ...?{3: 3}
-//     ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:18:5: Error: Unexpected token '...'.
-//     ...[2],
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:19:5: Error: Unexpected token '...?'.
-//     ...?[3]
-//     ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection.dart:21:22: Error: Unexpected token '...'.
-//   final aSetOrMap = {...foo()};
-//                      ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  final dynamic aList = <core::int*>[1];
-  final dynamic aMap = <core::int*, core::int*>{1: 1};
-  final dynamic aSet = <core::int*>{1};
-  final dynamic aSetOrMap = <dynamic, dynamic>{};
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.legacy.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.legacy.expect
deleted file mode 100644
index 6552bf4..0000000
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.legacy.expect
+++ /dev/null
@@ -1,280 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:22:5: Error: Unexpected token '...'.
-//     ...
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:27:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=dynamic */ []
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:31:5: Error: Unexpected token '...'.
-//     ...
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:37:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=dynamic, dynamic */ {}
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:40:61: Error: Unexpected token '...'.
-//   var /*@ type=List<int*>* */ lhs20 = /*@ typeArgs=int* */ [...spread];
-//                                                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:42:60: Error: Unexpected token '...'.
-//   var /*@ type=Set<int*>* */ set20 = /*@ typeArgs=int* */ {...spread, 42};
-//                                                            ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:44:69: Error: Unexpected token '...'.
-//   var /*@ type=Set<int*>* */ set20ambiguous = /*@ typeArgs=int* */ {...spread};
-//                                                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:47:8: Error: Unexpected token '...'.
-//       {...mapSpread, "baz": 42};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:50:8: Error: Unexpected token '...'.
-//       {...mapSpread};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:53:5: Error: Unexpected token '...'.
-//     ...(spread as dynamic)
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:57:5: Error: Unexpected token '...'.
-//     ...(spread as dynamic),
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:62:8: Error: Unexpected token '...'.
-//       {...(mapSpread as dynamic), "baz": 42};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:64:29: Error: Unexpected token '...'.
-//   dynamic map21ambiguous = {...(mapSpread as dynamic)};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:66:43: Error: Unexpected token '...'.
-//   List<int> lhs22 = /*@ typeArgs=int* */ [... /*@ typeArgs=int* */ []];
-//                                           ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:68:42: Error: Unexpected token '...'.
-//   Set<int> set22 = /*@ typeArgs=int* */ {... /*@ typeArgs=int* */ [], 42};
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:70:51: Error: Unexpected token '...'.
-//   Set<int> set22ambiguous = /*@ typeArgs=int* */ {... /*@ typeArgs=int* */ []};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:73:8: Error: Unexpected token '...'.
-//       {... /*@ typeArgs=String*, int* */ {}};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:76:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=List<int*>* */
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:81:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=List<int*>* */
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:88:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=List<int*>* */ [/*@ typeArgs=int* */ []]
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:93:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=String*, List<int*>* */ {"baz": /*@ typeArgs=int* */ [] }
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:29: Error: Unexpected token '...'.
-//   dynamic map24ambiguous = {...spread, ...mapSpread};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:40: Error: Unexpected token '...'.
-//   dynamic map24ambiguous = {...spread, ...mapSpread};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:98:37: Error: Unexpected token '...'.
-//   int lhs30 = /*@ typeArgs=int* */ [...spread];
-//                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:100:37: Error: Unexpected token '...'.
-//   int set30 = /*@ typeArgs=int* */ {...spread, 42};
-//                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:103:8: Error: Unexpected token '...'.
-//       {...spread};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:106:8: Error: Unexpected token '...'.
-//       {...mapSpread, "baz": 42};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:109:8: Error: Unexpected token '...'.
-//       {...mapSpread};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:111:35: Error: Unexpected token '...'.
-//   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:113:34: Error: Unexpected token '...'.
-//   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
-//                                  ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:115:52: Error: Unexpected token '...'.
-//   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:117:35: Error: Unexpected token '...'.
-//   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:119:34: Error: Unexpected token '...'.
-//   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
-//                                  ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:121:52: Error: Unexpected token '...'.
-//   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:123:33: Error: Unexpected token '...'.
-//   List<String> lhs60 = <String>[...spread];
-//                                 ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:125:32: Error: Unexpected token '...'.
-//   Set<String> set60 = <String>{...spread};
-//                                ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:127:36: Error: Unexpected token '...'.
-//   Map<int, int> map60 = <int, int>{...mapSpread};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:129:48: Error: Unexpected token '...'.
-//   Map<String, String> map61 = <String, String>{...mapSpread};
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:131:27: Error: Unexpected token '...'.
-//   List<int> lhs70 = <int>[...null];
-//                           ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:133:26: Error: Unexpected token '...'.
-//   Set<int> set70 = <int>{...null};
-//                          ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:137:5: Error: Unexpected token '...'.
-//     ...null,
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:138:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=dynamic */
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:142:42: Error: Unexpected token '...'.
-//   Map<String, int> map70 = <String, int>{...null};
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:144:27: Error: Unexpected token '...?'.
-//   List<int> lhs80 = <int>[...?null];
-//                           ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:146:26: Error: Unexpected token '...?'.
-//   Set<int> set80 = <int>{...?null};
-//                          ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:149:8: Error: Unexpected token '...?'.
-//       {...?null, ... /*@ typeArgs=dynamic */ []};
-//        ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:149:18: Error: Unexpected token '...'.
-//       {...?null, ... /*@ typeArgs=dynamic */ []};
-//                  ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:151:42: Error: Unexpected token '...?'.
-//   Map<String, int> map80 = <String, int>{...?null};
-//                                          ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:154:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=String*, int* */ bar()
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:157:29: Error: Unexpected token '...'.
-//   List<int> list100 = <int>[...listNum];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:159:37: Error: Unexpected token '...'.
-//   Map<num, int> map100 = <num, int>{...mapIntNum};
-//                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:161:29: Error: Unexpected token '...'.
-//   List<int> list110 = <int>[...dynVar];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:163:37: Error: Unexpected token '...'.
-//   Map<num, int> map110 = <num, int>{...dynVar};
-//                                     ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bar<K extends core::Object* = dynamic, V extends core::Object* = dynamic>() → core::Map<self::bar::K*, self::bar::V*>*
-  return null;
-static method foo(dynamic dynVar) → dynamic {
-  core::List<core::int*>* spread = <core::int*>[1, 2, 3];
-  core::Map<core::String*, core::int*>* mapSpread = <core::String*, core::int*>{"foo": 4, "bar": 2};
-  core::int* notSpreadInt = 42;
-  () →* core::int* notSpreadFunction = null;
-  core::Map<core::int*, core::num*>* mapIntNum = <core::int*, core::num*>{42: 42};
-  core::List<core::num*>* listNum = <core::num*>[42];
-  dynamic lhs10 = <dynamic>[];
-  dynamic set10 = <dynamic>{};
-  dynamic map10 = <dynamic, dynamic>{};
-  dynamic map10ambiguous = <dynamic, dynamic>{};
-  dynamic lhs20 = <dynamic>[];
-  dynamic set20 = <dynamic>{42};
-  dynamic set20ambiguous = <dynamic, dynamic>{};
-  dynamic map20 = <dynamic, dynamic>{"baz": 42};
-  dynamic map20ambiguous = <dynamic, dynamic>{};
-  dynamic lhs21 = <dynamic>[];
-  dynamic set21 = <dynamic>{42};
-  dynamic map21 = <dynamic, dynamic>{"baz": 42};
-  dynamic map21ambiguous = <dynamic, dynamic>{};
-  core::List<core::int*>* lhs22 = <dynamic>[];
-  core::Set<core::int*>* set22 = <dynamic>{42};
-  core::Set<core::int*>* set22ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::int*>* map22 = <dynamic, dynamic>{};
-  core::List<core::List<core::int*>*>* lhs23 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set23 = <dynamic>{<core::int*>[42]};
-  core::Set<core::List<core::int*>*>* set23ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::List<core::int*>*>* map23 = <dynamic, dynamic>{};
-  dynamic map24ambiguous = <dynamic, dynamic>{};
-  core::int* lhs30 = <dynamic>[];
-  core::int* set30 = <dynamic>{42};
-  core::int* set30ambiguous = <dynamic, dynamic>{};
-  core::int* map30 = <dynamic, dynamic>{"baz": 42};
-  core::int* map30ambiguous = <dynamic, dynamic>{};
-  core::List<dynamic>* lhs40 = <dynamic>[];
-  core::Set<dynamic>* set40 = <dynamic>{};
-  core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{};
-  core::List<dynamic>* lhs50 = <dynamic>[];
-  core::Set<dynamic>* set50 = <dynamic>{};
-  core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{};
-  core::List<core::String*>* lhs60 = <core::String*>[];
-  core::Set<core::String*>* set60 = <core::String*>{};
-  core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{};
-  core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{};
-  core::List<core::int*>* lhs70 = <core::int*>[];
-  core::Set<core::int*>* set70 = <core::int*>{};
-  dynamic set71ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{};
-  core::List<core::int*>* lhs80 = <core::int*>[];
-  core::Set<core::int*>* set80 = <core::int*>{};
-  dynamic set81ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::int*>* map80 = <core::String*, core::int*>{};
-  dynamic map90 = <core::String*, core::int*>{};
-  core::List<core::int*>* list100 = <core::int*>[];
-  core::Map<core::num*, core::int*>* map100 = <core::num*, core::int*>{};
-  core::List<core::int*>* list110 = <core::int*>[];
-  core::Map<core::num*, core::int*>* map110 = <core::num*, core::int*>{};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 6552bf4..0000000
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,280 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:22:5: Error: Unexpected token '...'.
-//     ...
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:27:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=dynamic */ []
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:31:5: Error: Unexpected token '...'.
-//     ...
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:37:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=dynamic, dynamic */ {}
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:40:61: Error: Unexpected token '...'.
-//   var /*@ type=List<int*>* */ lhs20 = /*@ typeArgs=int* */ [...spread];
-//                                                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:42:60: Error: Unexpected token '...'.
-//   var /*@ type=Set<int*>* */ set20 = /*@ typeArgs=int* */ {...spread, 42};
-//                                                            ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:44:69: Error: Unexpected token '...'.
-//   var /*@ type=Set<int*>* */ set20ambiguous = /*@ typeArgs=int* */ {...spread};
-//                                                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:47:8: Error: Unexpected token '...'.
-//       {...mapSpread, "baz": 42};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:50:8: Error: Unexpected token '...'.
-//       {...mapSpread};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:53:5: Error: Unexpected token '...'.
-//     ...(spread as dynamic)
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:57:5: Error: Unexpected token '...'.
-//     ...(spread as dynamic),
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:62:8: Error: Unexpected token '...'.
-//       {...(mapSpread as dynamic), "baz": 42};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:64:29: Error: Unexpected token '...'.
-//   dynamic map21ambiguous = {...(mapSpread as dynamic)};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:66:43: Error: Unexpected token '...'.
-//   List<int> lhs22 = /*@ typeArgs=int* */ [... /*@ typeArgs=int* */ []];
-//                                           ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:68:42: Error: Unexpected token '...'.
-//   Set<int> set22 = /*@ typeArgs=int* */ {... /*@ typeArgs=int* */ [], 42};
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:70:51: Error: Unexpected token '...'.
-//   Set<int> set22ambiguous = /*@ typeArgs=int* */ {... /*@ typeArgs=int* */ []};
-//                                                   ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:73:8: Error: Unexpected token '...'.
-//       {... /*@ typeArgs=String*, int* */ {}};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:76:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=List<int*>* */
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:81:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=List<int*>* */
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:88:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=List<int*>* */ [/*@ typeArgs=int* */ []]
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:93:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=String*, List<int*>* */ {"baz": /*@ typeArgs=int* */ [] }
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:29: Error: Unexpected token '...'.
-//   dynamic map24ambiguous = {...spread, ...mapSpread};
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:40: Error: Unexpected token '...'.
-//   dynamic map24ambiguous = {...spread, ...mapSpread};
-//                                        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:98:37: Error: Unexpected token '...'.
-//   int lhs30 = /*@ typeArgs=int* */ [...spread];
-//                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:100:37: Error: Unexpected token '...'.
-//   int set30 = /*@ typeArgs=int* */ {...spread, 42};
-//                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:103:8: Error: Unexpected token '...'.
-//       {...spread};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:106:8: Error: Unexpected token '...'.
-//       {...mapSpread, "baz": 42};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:109:8: Error: Unexpected token '...'.
-//       {...mapSpread};
-//        ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:111:35: Error: Unexpected token '...'.
-//   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:113:34: Error: Unexpected token '...'.
-//   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
-//                                  ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:115:52: Error: Unexpected token '...'.
-//   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:117:35: Error: Unexpected token '...'.
-//   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
-//                                   ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:119:34: Error: Unexpected token '...'.
-//   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
-//                                  ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:121:52: Error: Unexpected token '...'.
-//   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
-//                                                    ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:123:33: Error: Unexpected token '...'.
-//   List<String> lhs60 = <String>[...spread];
-//                                 ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:125:32: Error: Unexpected token '...'.
-//   Set<String> set60 = <String>{...spread};
-//                                ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:127:36: Error: Unexpected token '...'.
-//   Map<int, int> map60 = <int, int>{...mapSpread};
-//                                    ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:129:48: Error: Unexpected token '...'.
-//   Map<String, String> map61 = <String, String>{...mapSpread};
-//                                                ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:131:27: Error: Unexpected token '...'.
-//   List<int> lhs70 = <int>[...null];
-//                           ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:133:26: Error: Unexpected token '...'.
-//   Set<int> set70 = <int>{...null};
-//                          ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:137:5: Error: Unexpected token '...'.
-//     ...null,
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:138:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=dynamic */
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:142:42: Error: Unexpected token '...'.
-//   Map<String, int> map70 = <String, int>{...null};
-//                                          ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:144:27: Error: Unexpected token '...?'.
-//   List<int> lhs80 = <int>[...?null];
-//                           ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:146:26: Error: Unexpected token '...?'.
-//   Set<int> set80 = <int>{...?null};
-//                          ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:149:8: Error: Unexpected token '...?'.
-//       {...?null, ... /*@ typeArgs=dynamic */ []};
-//        ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:149:18: Error: Unexpected token '...'.
-//       {...?null, ... /*@ typeArgs=dynamic */ []};
-//                  ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:151:42: Error: Unexpected token '...?'.
-//   Map<String, int> map80 = <String, int>{...?null};
-//                                          ^^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:154:5: Error: Unexpected token '...'.
-//     ... /*@ typeArgs=String*, int* */ bar()
-//     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:157:29: Error: Unexpected token '...'.
-//   List<int> list100 = <int>[...listNum];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:159:37: Error: Unexpected token '...'.
-//   Map<num, int> map100 = <num, int>{...mapIntNum};
-//                                     ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:161:29: Error: Unexpected token '...'.
-//   List<int> list110 = <int>[...dynVar];
-//                             ^^^
-//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:163:37: Error: Unexpected token '...'.
-//   Map<num, int> map110 = <num, int>{...dynVar};
-//                                     ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bar<K extends core::Object* = dynamic, V extends core::Object* = dynamic>() → core::Map<self::bar::K*, self::bar::V*>*
-  return null;
-static method foo(dynamic dynVar) → dynamic {
-  core::List<core::int*>* spread = <core::int*>[1, 2, 3];
-  core::Map<core::String*, core::int*>* mapSpread = <core::String*, core::int*>{"foo": 4, "bar": 2};
-  core::int* notSpreadInt = 42;
-  () →* core::int* notSpreadFunction = null;
-  core::Map<core::int*, core::num*>* mapIntNum = <core::int*, core::num*>{42: 42};
-  core::List<core::num*>* listNum = <core::num*>[42];
-  dynamic lhs10 = <dynamic>[];
-  dynamic set10 = <dynamic>{};
-  dynamic map10 = <dynamic, dynamic>{};
-  dynamic map10ambiguous = <dynamic, dynamic>{};
-  dynamic lhs20 = <dynamic>[];
-  dynamic set20 = <dynamic>{42};
-  dynamic set20ambiguous = <dynamic, dynamic>{};
-  dynamic map20 = <dynamic, dynamic>{"baz": 42};
-  dynamic map20ambiguous = <dynamic, dynamic>{};
-  dynamic lhs21 = <dynamic>[];
-  dynamic set21 = <dynamic>{42};
-  dynamic map21 = <dynamic, dynamic>{"baz": 42};
-  dynamic map21ambiguous = <dynamic, dynamic>{};
-  core::List<core::int*>* lhs22 = <dynamic>[];
-  core::Set<core::int*>* set22 = <dynamic>{42};
-  core::Set<core::int*>* set22ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::int*>* map22 = <dynamic, dynamic>{};
-  core::List<core::List<core::int*>*>* lhs23 = <dynamic>[];
-  core::Set<core::List<core::int*>*>* set23 = <dynamic>{<core::int*>[42]};
-  core::Set<core::List<core::int*>*>* set23ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::List<core::int*>*>* map23 = <dynamic, dynamic>{};
-  dynamic map24ambiguous = <dynamic, dynamic>{};
-  core::int* lhs30 = <dynamic>[];
-  core::int* set30 = <dynamic>{42};
-  core::int* set30ambiguous = <dynamic, dynamic>{};
-  core::int* map30 = <dynamic, dynamic>{"baz": 42};
-  core::int* map30ambiguous = <dynamic, dynamic>{};
-  core::List<dynamic>* lhs40 = <dynamic>[];
-  core::Set<dynamic>* set40 = <dynamic>{};
-  core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{};
-  core::List<dynamic>* lhs50 = <dynamic>[];
-  core::Set<dynamic>* set50 = <dynamic>{};
-  core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{};
-  core::List<core::String*>* lhs60 = <core::String*>[];
-  core::Set<core::String*>* set60 = <core::String*>{};
-  core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{};
-  core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{};
-  core::List<core::int*>* lhs70 = <core::int*>[];
-  core::Set<core::int*>* set70 = <core::int*>{};
-  dynamic set71ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{};
-  core::List<core::int*>* lhs80 = <core::int*>[];
-  core::Set<core::int*>* set80 = <core::int*>{};
-  dynamic set81ambiguous = <dynamic, dynamic>{};
-  core::Map<core::String*, core::int*>* map80 = <core::String*, core::int*>{};
-  dynamic map90 = <core::String*, core::int*>{};
-  core::List<core::int*>* list100 = <core::int*>[];
-  core::Map<core::num*, core::int*>* map100 = <core::num*, core::int*>{};
-  core::List<core::int*>* list110 = <core::int*>[];
-  core::Map<core::num*, core::int*>* map110 = <core::num*, core::int*>{};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/statements.dart.legacy.expect b/pkg/front_end/testcases/general/statements.dart.legacy.expect
deleted file mode 100644
index 846bd13..0000000
--- a/pkg/front_end/testcases/general/statements.dart.legacy.expect
+++ /dev/null
@@ -1,169 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/statements.dart:15:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//     yield x;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/statements.dart:16:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//     yield* x;
-//     ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  try {
-    return;
-  }
-  finally {
-    core::print("Hello from finally block!");
-  }
-}
-static method bar() → dynamic async {
-  await for (dynamic x in <dynamic>[]) {
-    yield x;
-    yield* x;
-  }
-}
-static method main() → dynamic {
-  do {
-    core::print("Hello from do-while!");
-  }
-  while (false)
-  do {
-    dynamic x = core::print("Hello from do-while!");
-  }
-  while (false)
-  for (core::String* s in <dynamic>["Hello from for-in!"]) {
-    core::print(s);
-  }
-  for (core::String* s in <dynamic>["Hello from for-in without block!"])
-    core::print(s);
-  dynamic s;
-  for (final dynamic #t1 in <dynamic>["Hello from for-in without decl!"]) {
-    s = #t1;
-    core::print(s);
-  }
-  for (final dynamic #t2 in <dynamic>["Hello from for-in without decl and block!"]) {
-    s = #t2;
-    core::print(s);
-  }
-  core::print("Hello from labeled statement!");
-  try {
-    try {
-      throw "Hello from rethrow!";
-    }
-    on dynamic catch(final dynamic e) {
-      rethrow;
-    }
-  }
-  on dynamic catch(final dynamic e) {
-    core::print(e);
-  }
-  self::foo();
-  core::bool* done = false;
-  while (!done) {
-    done = true;
-    core::print("Hello from while!");
-  }
-  ;
-  assert(true);
-  assert(true, "Hello from assert!");
-  try {
-    assert(false, "Hello from assert!");
-  }
-  on dynamic catch(final dynamic e) {
-    core::print(e);
-  }
-  #L1:
-  switch(1) {
-    #L2:
-    case #C1:
-    case #C2:
-      {
-        core::print("Hello from switch case!");
-        break #L1;
-      }
-    #L3:
-    default:
-      {
-        break #L1;
-      }
-  }
-  #L4:
-  switch(4) {
-    #L5:
-    case #C2:
-      {
-        core::print("Hello from case 2!");
-        break #L4;
-      }
-    #L6:
-    case #C1:
-      {
-        core::print("Hello from case 1!");
-        continue #L5;
-      }
-    #L7:
-    case #C3:
-      {
-        core::print("Hello from case 0!");
-        continue #L6;
-      }
-    #L8:
-    case #C4:
-      {
-        core::print("Hello from case 4!");
-        continue #L9;
-      }
-    #L9:
-    default:
-      {
-        continue #L7;
-      }
-  }
-  #L10:
-  switch(4) {
-    #L11:
-    case #C1:
-      {
-        core::print("Hello from next case 1");
-        break #L10;
-      }
-    #L12:
-    default:
-      {
-        continue #L11;
-      }
-  }
-  core::int* i = 0;
-  #L13:
-  do
-    #L14:
-    {
-      core::print("Hello from do-while!");
-      if((i = i.+(1)).<(3))
-        break #L14;
-      break #L13;
-    }
-  while (true)
-  i = 0;
-  #L15:
-  while (true)
-    #L16:
-    {
-      core::print("Hello from while!");
-      if((i = i.+(1)).<(3))
-        break #L16;
-      break #L15;
-    }
-}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 0
-  #C4 = 4
-}
diff --git a/pkg/front_end/testcases/general/statements.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/statements.dart.legacy.transformed.expect
deleted file mode 100644
index 1d1a933..0000000
--- a/pkg/front_end/testcases/general/statements.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,218 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/statements.dart:15:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//     yield x;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general/statements.dart:16:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//     yield* x;
-//     ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-static method foo() → dynamic {
-  try {
-    return;
-  }
-  finally {
-    core::print("Hello from finally block!");
-  }
-}
-static method bar() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  dynamic :exception0;
-  dynamic :stack_trace0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        {
-          dynamic :stream = <dynamic>[];
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L2:
-            while (true) {
-              dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  yield x;
-                  yield* x;
-                }
-              }
-              else
-                break #L2;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {
-  do {
-    core::print("Hello from do-while!");
-  }
-  while (false)
-  do {
-    dynamic x = core::print("Hello from do-while!");
-  }
-  while (false)
-  for (core::String* s in <dynamic>["Hello from for-in!"]) {
-    core::print(s);
-  }
-  for (core::String* s in <dynamic>["Hello from for-in without block!"])
-    core::print(s);
-  dynamic s;
-  for (final dynamic #t4 in <dynamic>["Hello from for-in without decl!"]) {
-    s = #t4;
-    core::print(s);
-  }
-  for (final dynamic #t5 in <dynamic>["Hello from for-in without decl and block!"]) {
-    s = #t5;
-    core::print(s);
-  }
-  core::print("Hello from labeled statement!");
-  try {
-    try {
-      throw "Hello from rethrow!";
-    }
-    on dynamic catch(final dynamic e) {
-      rethrow;
-    }
-  }
-  on dynamic catch(final dynamic e) {
-    core::print(e);
-  }
-  self::foo();
-  core::bool* done = false;
-  while (!done) {
-    done = true;
-    core::print("Hello from while!");
-  }
-  ;
-  assert(true);
-  assert(true, "Hello from assert!");
-  try {
-    assert(false, "Hello from assert!");
-  }
-  on dynamic catch(final dynamic e) {
-    core::print(e);
-  }
-  #L3:
-  switch(1) {
-    #L4:
-    case #C1:
-    case #C2:
-      {
-        core::print("Hello from switch case!");
-        break #L3;
-      }
-    #L5:
-    default:
-      {
-        break #L3;
-      }
-  }
-  #L6:
-  switch(4) {
-    #L7:
-    case #C2:
-      {
-        core::print("Hello from case 2!");
-        break #L6;
-      }
-    #L8:
-    case #C1:
-      {
-        core::print("Hello from case 1!");
-        continue #L7;
-      }
-    #L9:
-    case #C3:
-      {
-        core::print("Hello from case 0!");
-        continue #L8;
-      }
-    #L10:
-    case #C4:
-      {
-        core::print("Hello from case 4!");
-        continue #L11;
-      }
-    #L11:
-    default:
-      {
-        continue #L9;
-      }
-  }
-  #L12:
-  switch(4) {
-    #L13:
-    case #C1:
-      {
-        core::print("Hello from next case 1");
-        break #L12;
-      }
-    #L14:
-    default:
-      {
-        continue #L13;
-      }
-  }
-  core::int* i = 0;
-  #L15:
-  do
-    #L16:
-    {
-      core::print("Hello from do-while!");
-      if((i = i.+(1)).<(3))
-        break #L16;
-      break #L15;
-    }
-  while (true)
-  i = 0;
-  #L17:
-  while (true)
-    #L18:
-    {
-      core::print("Hello from while!");
-      if((i = i.+(1)).<(3))
-        break #L18;
-      break #L17;
-    }
-}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 0
-  #C4 = 4
-}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.legacy.expect b/pkg/front_end/testcases/general/static_setter.dart.legacy.expect
deleted file mode 100644
index 7b5a72c..0000000
--- a/pkg/front_end/testcases/general/static_setter.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static set foo(dynamic x) → void {}
-static method main() → dynamic {
-  self::foo = new self::Foo::•();
-}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/static_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 7b5a72c..0000000
--- a/pkg/front_end/testcases/general/static_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static set foo(dynamic x) → void {}
-static method main() → dynamic {
-  self::foo = new self::Foo::•();
-}
diff --git a/pkg/front_end/testcases/general/store_load.dart.legacy.expect b/pkg/front_end/testcases/general/store_load.dart.legacy.expect
deleted file mode 100644
index 2e466ef..0000000
--- a/pkg/front_end/testcases/general/store_load.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic _field = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class FooValue extends core::Object {
-  synthetic constructor •() → self::FooValue*
-    : super core::Object::•()
-    ;
-}
-class Bar extends core::Object {
-  field dynamic _field = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-class BarValue extends core::Object {
-  synthetic constructor •() → self::BarValue*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic foo = new self::Foo::•();
-  foo._field = new self::FooValue::•();
-  dynamic fooValue = foo._field;
-  core::print(fooValue);
-  dynamic bar = new self::Bar::•();
-  bar._field = new self::BarValue::•();
-  dynamic barValue = bar._field;
-  core::print(barValue);
-}
diff --git a/pkg/front_end/testcases/general/store_load.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/store_load.dart.legacy.transformed.expect
deleted file mode 100644
index 2e466ef..0000000
--- a/pkg/front_end/testcases/general/store_load.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic _field = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class FooValue extends core::Object {
-  synthetic constructor •() → self::FooValue*
-    : super core::Object::•()
-    ;
-}
-class Bar extends core::Object {
-  field dynamic _field = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-class BarValue extends core::Object {
-  synthetic constructor •() → self::BarValue*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic foo = new self::Foo::•();
-  foo._field = new self::FooValue::•();
-  dynamic fooValue = foo._field;
-  core::print(fooValue);
-  dynamic bar = new self::Bar::•();
-  bar._field = new self::BarValue::•();
-  dynamic barValue = bar._field;
-  core::print(barValue);
-}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.legacy.expect b/pkg/front_end/testcases/general/stringliteral.dart.legacy.expect
deleted file mode 100644
index ca4c0cb..0000000
--- a/pkg/front_end/testcases/general/stringliteral.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-
-static field dynamic color = "brown";
-static field dynamic thing = "lazy dog";
-static field dynamic phrase = "The quick ${self::color} fox
-jumped over the ${self::thing}.
-";
-static field dynamic adjacent = "${self::color}${self::color}${self::color}";
-static field dynamic linebreaks = "${self::color}
-${self::color}
-${self::color}";
-static field dynamic other = "${self::color}
- is 
-${self::color}";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/stringliteral.dart.legacy.transformed.expect
deleted file mode 100644
index ca4c0cb..0000000
--- a/pkg/front_end/testcases/general/stringliteral.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-
-static field dynamic color = "brown";
-static field dynamic thing = "lazy dog";
-static field dynamic phrase = "The quick ${self::color} fox
-jumped over the ${self::thing}.
-";
-static field dynamic adjacent = "${self::color}${self::color}${self::color}";
-static field dynamic linebreaks = "${self::color}
-${self::color}
-${self::color}";
-static field dynamic other = "${self::color}
- is 
-${self::color}";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/super_call.dart.legacy.expect b/pkg/front_end/testcases/general/super_call.dart.legacy.expect
deleted file mode 100644
index 103be3d..0000000
--- a/pkg/front_end/testcases/general/super_call.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/super_call.dart:14:12: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     return super(5);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.*(2);
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.*(3);
-  method call_super() → core::int* {
-    return invalid-expression "pkg/front_end/testcases/general/super_call.dart:14:12: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    return super(5);
-           ^";
-  }
-}
-static method main() → dynamic {
-  assert(new self::B::•().call_super().==(10));
-}
diff --git a/pkg/front_end/testcases/general/super_call.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/super_call.dart.legacy.transformed.expect
deleted file mode 100644
index 103be3d..0000000
--- a/pkg/front_end/testcases/general/super_call.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/super_call.dart:14:12: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     return super(5);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.*(2);
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.*(3);
-  method call_super() → core::int* {
-    return invalid-expression "pkg/front_end/testcases/general/super_call.dart:14:12: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    return super(5);
-           ^";
-  }
-}
-static method main() → dynamic {
-  assert(new self::B::•().call_super().==(10));
-}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.legacy.expect b/pkg/front_end/testcases/general/super_nsm.dart.legacy.expect
deleted file mode 100644
index 9b490c3..0000000
--- a/pkg/front_end/testcases/general/super_nsm.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method interfaceMethod() → dynamic;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return "C";
-  no-such-method-forwarder method interfaceMethod() → dynamic
-    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return "D";
-  method dMethod() → dynamic
-    return super.{self::C::interfaceMethod}();
-}
-static method main() → dynamic {
-  dynamic result = new self::D::•().dMethod();
-  if(!result.==("D"))
-    throw "Expected 'D' but got: '${result}'";
-}
-
-constants  {
-  #C1 = #interfaceMethod
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/super_nsm.dart.legacy.transformed.expect
deleted file mode 100644
index 9b490c3..0000000
--- a/pkg/front_end/testcases/general/super_nsm.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method interfaceMethod() → dynamic;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return "C";
-  no-such-method-forwarder method interfaceMethod() → dynamic
-    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return "D";
-  method dMethod() → dynamic
-    return super.{self::C::interfaceMethod}();
-}
-static method main() → dynamic {
-  dynamic result = new self::D::•().dMethod();
-  if(!result.==("D"))
-    throw "Expected 'D' but got: '${result}'";
-}
-
-constants  {
-  #C1 = #interfaceMethod
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/general/tabs.dart.legacy.expect b/pkg/front_end/testcases/general/tabs.dart.legacy.expect
deleted file mode 100644
index 5828d2d..0000000
--- a/pkg/front_end/testcases/general/tabs.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/tabs.dart:9:9: Warning: Getter not found: 'one'.
-//   print(one);
-//         ^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:10:9: Warning: Getter not found: 'two'.
-//   print(two);
-//         ^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:11:9: Warning: Getter not found: 'three'.
-//   print(three);
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:12:9: Warning: Getter not found: 'four'.
-//   print(four);
-//         ^^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:13:9: Warning: Getter not found: 'five'.
-//   print(five);
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #one
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #two
-  #C6 = #three
-  #C7 = #four
-  #C8 = #five
-}
diff --git a/pkg/front_end/testcases/general/tabs.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/tabs.dart.legacy.transformed.expect
deleted file mode 100644
index 5828d2d..0000000
--- a/pkg/front_end/testcases/general/tabs.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/tabs.dart:9:9: Warning: Getter not found: 'one'.
-//   print(one);
-//         ^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:10:9: Warning: Getter not found: 'two'.
-//   print(two);
-//         ^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:11:9: Warning: Getter not found: 'three'.
-//   print(three);
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:12:9: Warning: Getter not found: 'four'.
-//   print(four);
-//         ^^^^
-//
-// pkg/front_end/testcases/general/tabs.dart:13:9: Warning: Getter not found: 'five'.
-//   print(five);
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #one
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #two
-  #C6 = #three
-  #C7 = #four
-  #C8 = #five
-}
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.legacy.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.legacy.expect
deleted file mode 100644
index 9898bf6..0000000
--- a/pkg/front_end/testcases/general/top_level_accessors.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library top_level_accessors;
-import self as self;
-import "dart:core" as core;
-
-part top_level_accessors_part.dart;
-static set /* from org-dartlang-testcase:///top_level_accessors_part.dart */ exitCode(core::int* code) → void {
-  core::print(code);
-}
-static get /* from org-dartlang-testcase:///top_level_accessors_part.dart */ exitCode() → core::int*
-  return 0;
-static method /* from org-dartlang-testcase:///top_level_accessors_part.dart */ main() → dynamic {
-  self::exitCode = 42;
-  core::print(self::exitCode);
-}
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.legacy.transformed.expect
deleted file mode 100644
index 9898bf6..0000000
--- a/pkg/front_end/testcases/general/top_level_accessors.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library top_level_accessors;
-import self as self;
-import "dart:core" as core;
-
-part top_level_accessors_part.dart;
-static set /* from org-dartlang-testcase:///top_level_accessors_part.dart */ exitCode(core::int* code) → void {
-  core::print(code);
-}
-static get /* from org-dartlang-testcase:///top_level_accessors_part.dart */ exitCode() → core::int*
-  return 0;
-static method /* from org-dartlang-testcase:///top_level_accessors_part.dart */ main() → dynamic {
-  self::exitCode = 42;
-  core::print(self::exitCode);
-}
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.legacy.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.legacy.expect
deleted file mode 100644
index f23119a..0000000
--- a/pkg/front_end/testcases/general/top_level_library_method.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method library() → dynamic {
-  core::print("Hello, World!");
-}
-static method main() → dynamic
-  return self::library();
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.legacy.transformed.expect
deleted file mode 100644
index f23119a..0000000
--- a/pkg/front_end/testcases/general/top_level_library_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method library() → dynamic {
-  core::print("Hello, World!");
-}
-static method main() → dynamic
-  return self::library();
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.legacy.expect b/pkg/front_end/testcases/general/type_of_null.dart.legacy.expect
deleted file mode 100644
index 3128fcb..0000000
--- a/pkg/front_end/testcases/general/type_of_null.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method map<T extends core::Object* = dynamic>(() →* self::map::T* f1, () →* self::map::T* f2) → self::map::T* {}
-static method id<T extends core::Object* = dynamic>(self::id::T* t) → dynamic
-  return t;
-static method foo() → core::Null*
-  return null;
-static method main() → dynamic {
-  self::map<dynamic>(() → dynamic {}, () → dynamic => throw "hello");
-  self::map<dynamic>(() → dynamic => throw "hello", () → dynamic {});
-  () →* core::Null* f = () → dynamic {};
-  self::map<dynamic>(#C1, () → dynamic => throw "hello");
-  self::map<dynamic>(() → dynamic => throw "hello", #C1);
-  self::map<dynamic>(() → dynamic {
-    return null;
-  }, () → dynamic => throw "hello");
-  self::map<dynamic>(() → dynamic => throw "hello", () → dynamic {
-    return null;
-  });
-  self::id<dynamic>(() → dynamic {});
-}
-
-constants  {
-  #C1 = tearoff self::foo
-}
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/type_of_null.dart.legacy.transformed.expect
deleted file mode 100644
index 3128fcb..0000000
--- a/pkg/front_end/testcases/general/type_of_null.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method map<T extends core::Object* = dynamic>(() →* self::map::T* f1, () →* self::map::T* f2) → self::map::T* {}
-static method id<T extends core::Object* = dynamic>(self::id::T* t) → dynamic
-  return t;
-static method foo() → core::Null*
-  return null;
-static method main() → dynamic {
-  self::map<dynamic>(() → dynamic {}, () → dynamic => throw "hello");
-  self::map<dynamic>(() → dynamic => throw "hello", () → dynamic {});
-  () →* core::Null* f = () → dynamic {};
-  self::map<dynamic>(#C1, () → dynamic => throw "hello");
-  self::map<dynamic>(() → dynamic => throw "hello", #C1);
-  self::map<dynamic>(() → dynamic {
-    return null;
-  }, () → dynamic => throw "hello");
-  self::map<dynamic>(() → dynamic => throw "hello", () → dynamic {
-    return null;
-  });
-  self::id<dynamic>(() → dynamic {});
-}
-
-constants  {
-  #C1 = tearoff self::foo
-}
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.legacy.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.legacy.expect
deleted file mode 100644
index cc56d21..0000000
--- a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-  abstract get list() → core::List<self::Foo::T*>*;
-  abstract method setList<T extends core::Object* = dynamic>(core::List<self::Foo::setList::T*>* value) → void;
-}
-class Bar extends core::Object implements self::Foo<core::int*> {
-  field core::List<core::int*>* list = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  method setList<int extends core::Object* = dynamic>(core::List<self::Bar::setList::int*>* value) → void {
-    this.{self::Bar::list} = value;
-  }
-}
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.legacy.transformed.expect
deleted file mode 100644
index cc56d21..0000000
--- a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-  abstract get list() → core::List<self::Foo::T*>*;
-  abstract method setList<T extends core::Object* = dynamic>(core::List<self::Foo::setList::T*>* value) → void;
-}
-class Bar extends core::Object implements self::Foo<core::int*> {
-  field core::List<core::int*>* list = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  method setList<int extends core::Object* = dynamic>(core::List<self::Bar::setList::int*>* value) → void {
-    this.{self::Bar::list} = value;
-  }
-}
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.legacy.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.legacy.expect
deleted file mode 100644
index f794c73..0000000
--- a/pkg/front_end/testcases/general/type_variable_as_super.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/type_variable_as_super.dart:5:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class A<T> extends T {}
-//                ^
-//
-// pkg/front_end/testcases/type_variable_as_super.dart:7:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class B<T> extends T {
-//                ^
-//
-// pkg/front_end/testcases/type_variable_as_super.dart:11:7: Error: The type variable 'T' can't be used as supertype.
-// class C<T> extends T {}
-//       ^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<T extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-abstract class B<T extends core::Object = dynamic> extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  throw new core::AbstractClassInstantiationError::•("A");
-  throw new core::AbstractClassInstantiationError::•("B");
-  new self::C::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.legacy.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.legacy.expect
deleted file mode 100644
index 131a224..0000000
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_variable_prefix.dart:8:3: Warning: 'T.String' can't be used as a type because 'T' doesn't refer to an import prefix.
-//   T.String method() => "Hello, World!";
-//   ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as T;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method method() → invalid-type
-    return "Hello, World!";
-}
-static method main() → dynamic {
-  core::String* s = new self::C::•<dynamic>().method();
-  core::print(s);
-}
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.legacy.transformed.expect
deleted file mode 100644
index 131a224..0000000
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_variable_prefix.dart:8:3: Warning: 'T.String' can't be used as a type because 'T' doesn't refer to an import prefix.
-//   T.String method() => "Hello, World!";
-//   ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as T;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method method() → invalid-type
-    return "Hello, World!";
-}
-static method main() → dynamic {
-  core::String* s = new self::C::•<dynamic>().method();
-  core::print(s);
-}
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.legacy.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.legacy.expect
deleted file mode 100644
index 529bdd2..0000000
--- a/pkg/front_end/testcases/general/type_variable_uses.dart.legacy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:7:15: Warning: Can only use type variables in instance methods.
-//   static C<T> staticMethod() {
-//               ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:8:11: Warning: Type variables can't be used in static members.
-//     print(T);
-//           ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:9:5: Warning: Type variables can't be used in static members.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:10:7: Warning: Type variables can't be used in static members.
-//     C<T> l;
-//       ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:11:9: Warning: Type variables can't be used in static members.
-//     C<C<T>> ll;
-//         ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:12:13: Warning: Type variables can't be used in static members.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:13:12: Warning: Type variables can't be used in static members.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:14:14: Warning: Type variables can't be used in static members.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:15:20: Warning: Type variables can't be used in static members.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:16:28: Warning: Type variables can't be used in static members.
-//     const <Object>[const C<T>()];
-//                            ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:24:13: Error: Type variables can't be used as constants.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:25:12: Error: Type variables can't be used as constants.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:26:14: Error: Type variables can't be used as constants.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:27:20: Error: Type variables can't be used as constants.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:28:28: Error: Type variables can't be used as constants.
-//     const <Object>[const C<T>()];
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static method staticMethod() → self::C<dynamic>* {
-    core::print(invalid-type);
-    invalid-type t;
-    self::C<invalid-type>* l;
-    self::C<self::C<invalid-type>*>* ll;
-    #C1;
-    #C2;
-    #C3;
-    #C5;
-    #C6;
-  }
-  method instanceMethod() → self::C<self::C::T*>* {
-    core::print(self::C::T*);
-    self::C::T* t;
-    self::C<self::C::T*>* l;
-    self::C<self::C<self::C::T*>*>* ll;
-    #C1;
-    #C2;
-    #C3;
-    #C5;
-    #C6;
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::C<invalid-type> {}
-  #C2 = <invalid-type>[]
-  #C3 = <self::C<invalid-type>*>[]
-  #C4 = TypeLiteralConstant(invalid-type)
-  #C5 = <core::Object*>[#C4]
-  #C6 = <core::Object*>[#C1]
-}
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.legacy.transformed.expect
deleted file mode 100644
index 529bdd2..0000000
--- a/pkg/front_end/testcases/general/type_variable_uses.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:7:15: Warning: Can only use type variables in instance methods.
-//   static C<T> staticMethod() {
-//               ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:8:11: Warning: Type variables can't be used in static members.
-//     print(T);
-//           ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:9:5: Warning: Type variables can't be used in static members.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:10:7: Warning: Type variables can't be used in static members.
-//     C<T> l;
-//       ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:11:9: Warning: Type variables can't be used in static members.
-//     C<C<T>> ll;
-//         ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:12:13: Warning: Type variables can't be used in static members.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:13:12: Warning: Type variables can't be used in static members.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:14:14: Warning: Type variables can't be used in static members.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:15:20: Warning: Type variables can't be used in static members.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:16:28: Warning: Type variables can't be used in static members.
-//     const <Object>[const C<T>()];
-//                            ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:24:13: Error: Type variables can't be used as constants.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:25:12: Error: Type variables can't be used as constants.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:26:14: Error: Type variables can't be used as constants.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:27:20: Error: Type variables can't be used as constants.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general/type_variable_uses.dart:28:28: Error: Type variables can't be used as constants.
-//     const <Object>[const C<T>()];
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static method staticMethod() → self::C<dynamic>* {
-    core::print(invalid-type);
-    invalid-type t;
-    self::C<invalid-type>* l;
-    self::C<self::C<invalid-type>*>* ll;
-    #C1;
-    #C2;
-    #C3;
-    #C5;
-    #C6;
-  }
-  method instanceMethod() → self::C<self::C::T*>* {
-    core::print(self::C::T*);
-    self::C::T* t;
-    self::C<self::C::T*>* l;
-    self::C<self::C<self::C::T*>*>* ll;
-    #C1;
-    #C2;
-    #C3;
-    #C5;
-    #C6;
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::C<invalid-type> {}
-  #C2 = <invalid-type>[]
-  #C3 = <self::C<invalid-type>*>[]
-  #C4 = TypeLiteralConstant(invalid-type)
-  #C5 = <core::Object*>[#C4]
-  #C6 = <core::Object*>[#C1]
-}
diff --git a/pkg/front_end/testcases/general/typedef.dart.legacy.expect b/pkg/front_end/testcases/general/typedef.dart.legacy.expect
deleted file mode 100644
index 979f6c8..0000000
--- a/pkg/front_end/testcases/general/typedef.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef _NullaryFunction = () →* dynamic;
-typedef _UnaryFunction = (dynamic) →* dynamic;
-typedef _BinaryFunction = (dynamic, dynamic) →* dynamic;
-static method main() → dynamic {
-  core::print((#C1) is () →* dynamic);
-  core::print((#C1) is (dynamic) →* dynamic);
-  core::print((#C1) is (dynamic, dynamic) →* dynamic);
-}
-
-constants  {
-  #C1 = tearoff self::main
-}
diff --git a/pkg/front_end/testcases/general/typedef.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/typedef.dart.legacy.transformed.expect
deleted file mode 100644
index 979f6c8..0000000
--- a/pkg/front_end/testcases/general/typedef.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef _NullaryFunction = () →* dynamic;
-typedef _UnaryFunction = (dynamic) →* dynamic;
-typedef _BinaryFunction = (dynamic, dynamic) →* dynamic;
-static method main() → dynamic {
-  core::print((#C1) is () →* dynamic);
-  core::print((#C1) is (dynamic) →* dynamic);
-  core::print((#C1) is (dynamic, dynamic) →* dynamic);
-}
-
-constants  {
-  #C1 = tearoff self::main
-}
diff --git a/pkg/front_end/testcases/general/undefined.dart.legacy.expect b/pkg/front_end/testcases/general/undefined.dart.legacy.expect
deleted file mode 100644
index 19ba3f9..0000000
--- a/pkg/front_end/testcases/general/undefined.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → void {}
-}
-static method test(self::C* c) → void {
-  c.x;
-  c.y;
-  c.f();
-  c.g();
-  c.x = null;
-  c.y = null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/undefined.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/undefined.dart.legacy.transformed.expect
deleted file mode 100644
index 19ba3f9..0000000
--- a/pkg/front_end/testcases/general/undefined.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → void {}
-}
-static method test(self::C* c) → void {
-  c.x;
-  c.y;
-  c.f();
-  c.g();
-  c.x = null;
-  c.y = null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.legacy.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.legacy.expect
deleted file mode 100644
index c223555..0000000
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(dynamic value) → void {}
-}
-static method test(self::C* c) → void {
-  c.x = 1;
-  let final dynamic #t1 = c in #t1.x = #t1.x.+(1);
-  let final dynamic #t2 = c in #t2.x.==(null) ? #t2.x = 1 : null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.legacy.transformed.expect
deleted file mode 100644
index c223555..0000000
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(dynamic value) → void {}
-}
-static method test(self::C* c) → void {
-  c.x = 1;
-  let final dynamic #t1 = c in #t1.x = #t1.x.+(1);
-  let final dynamic #t2 = c in #t2.x.==(null) ? #t2.x = 1 : null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.legacy.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.legacy.expect
deleted file mode 100644
index 4696956..0000000
--- a/pkg/front_end/testcases/general/uninitialized_fields.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Uninitialized extends core::Object {
-  field core::int x = null;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class PartiallyInitialized extends core::Object {
-  field core::int x;
-  constructor •(core::int x) → void
-    : self::PartiallyInitialized::x = x, super core::Object::•()
-    ;
-  constructor noInitializer() → void
-    : self::PartiallyInitialized::x = null, super core::Object::•()
-    ;
-}
-class Initialized extends core::Object {
-  field core::int x;
-  constructor •(core::int x) → void
-    : self::Initialized::x = x, super core::Object::•()
-    ;
-}
-class Forwarding extends core::Object {
-  field core::int x;
-  constructor initialize(core::int x) → void
-    : self::Forwarding::x = x, super core::Object::•()
-    ;
-  constructor •(core::int arg) → void
-    : this self::Forwarding::initialize(arg)
-    ;
-}
-static field core::int uninitializedTopLevel = null;
-static field core::int initializedTopLevel = 4;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.legacy.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.legacy.expect
deleted file mode 100644
index a446cb7..0000000
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B implements self::A {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static field core::List<self::A*>* list;
-static method g<T extends self::A* = dynamic>(self::g::T* t) → core::List<self::g::T*>* {
-  self::list = <self::g::T*>[];
-  core::print(self::list.runtimeType);
-  return self::list;
-}
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
-  if(s is self::A*) {
-    dynamic list = self::g<dynamic>(s);
-    return list;
-  }
-  return null;
-}
-static method main() → dynamic {
-  self::f<self::B*>(new self::C::•());
-  core::print(self::list.runtimeType);
-  core::List<self::A*>* aList;
-  aList = self::list;
-  core::Object* o = aList;
-  aList = o;
-}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.legacy.transformed.expect
deleted file mode 100644
index a446cb7..0000000
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B implements self::A {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static field core::List<self::A*>* list;
-static method g<T extends self::A* = dynamic>(self::g::T* t) → core::List<self::g::T*>* {
-  self::list = <self::g::T*>[];
-  core::print(self::list.runtimeType);
-  return self::list;
-}
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
-  if(s is self::A*) {
-    dynamic list = self::g<dynamic>(s);
-    return list;
-  }
-  return null;
-}
-static method main() → dynamic {
-  self::f<self::B*>(new self::C::•());
-  core::print(self::list.runtimeType);
-  core::List<self::A*>* aList;
-  aList = self::list;
-  core::Object* o = aList;
-  aList = o;
-}
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.legacy.expect b/pkg/front_end/testcases/general/unused_methods.dart.legacy.expect
deleted file mode 100644
index 5aebd62..0000000
--- a/pkg/front_end/testcases/general/unused_methods.dart.legacy.expect
+++ /dev/null
@@ -1,86 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class UnusedClass extends core::Object {
-  constructor •() → self::UnusedClass*
-    : super core::Object::•() {
-    core::print("Unused");
-  }
-}
-abstract class UsedAsBaseClass extends core::Object {
-  synthetic constructor •() → self::UsedAsBaseClass*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-  method calledFromB() → void {
-    this.{self::UsedAsBaseClass::calledFromSubclass}();
-  }
-  method calledFromSubclass() → void {
-    core::print("Unused");
-  }
-}
-class UsedAsInterface extends core::Object {
-  synthetic constructor •() → self::UsedAsInterface*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-}
-class InstantiatedButMethodsUnused extends core::Object {
-  synthetic constructor •() → self::InstantiatedButMethodsUnused*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-}
-class ClassA extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
-  synthetic constructor •() → self::ClassA*
-    : super self::UsedAsBaseClass::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("A");
-  }
-}
-class ClassB extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
-  synthetic constructor •() → self::ClassB*
-    : super self::UsedAsBaseClass::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("B");
-    this.{self::UsedAsBaseClass::calledFromB}();
-  }
-  method calledFromSubclass() → void {}
-}
-static method baseClassCall(self::UsedAsBaseClass* object) → void {
-  object.usedInSubclass();
-}
-static method interfaceCall(self::UsedAsInterface* object) → void {
-  object.usedInSubclass();
-}
-static method exactCallA(self::ClassA* object) → void {
-  object.usedInSubclass();
-}
-static method exactCallB(self::ClassB* object) → void {
-  object.usedInSubclass();
-}
-static method unusedTopLevel() → dynamic {
-  core::print("Unused");
-}
-static method usedTopLevel() → dynamic {}
-static method main() → dynamic {
-  self::usedTopLevel();
-  self::ClassA* a = new self::ClassA::•();
-  self::exactCallA(a);
-  self::baseClassCall(a);
-  self::interfaceCall(a);
-  self::ClassB* b = new self::ClassB::•();
-  self::exactCallB(b);
-  self::baseClassCall(b);
-  self::interfaceCall(b);
-  new self::InstantiatedButMethodsUnused::•();
-}
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/unused_methods.dart.legacy.transformed.expect
deleted file mode 100644
index 5aebd62..0000000
--- a/pkg/front_end/testcases/general/unused_methods.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,86 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class UnusedClass extends core::Object {
-  constructor •() → self::UnusedClass*
-    : super core::Object::•() {
-    core::print("Unused");
-  }
-}
-abstract class UsedAsBaseClass extends core::Object {
-  synthetic constructor •() → self::UsedAsBaseClass*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-  method calledFromB() → void {
-    this.{self::UsedAsBaseClass::calledFromSubclass}();
-  }
-  method calledFromSubclass() → void {
-    core::print("Unused");
-  }
-}
-class UsedAsInterface extends core::Object {
-  synthetic constructor •() → self::UsedAsInterface*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-}
-class InstantiatedButMethodsUnused extends core::Object {
-  synthetic constructor •() → self::InstantiatedButMethodsUnused*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-}
-class ClassA extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
-  synthetic constructor •() → self::ClassA*
-    : super self::UsedAsBaseClass::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("A");
-  }
-}
-class ClassB extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
-  synthetic constructor •() → self::ClassB*
-    : super self::UsedAsBaseClass::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("B");
-    this.{self::UsedAsBaseClass::calledFromB}();
-  }
-  method calledFromSubclass() → void {}
-}
-static method baseClassCall(self::UsedAsBaseClass* object) → void {
-  object.usedInSubclass();
-}
-static method interfaceCall(self::UsedAsInterface* object) → void {
-  object.usedInSubclass();
-}
-static method exactCallA(self::ClassA* object) → void {
-  object.usedInSubclass();
-}
-static method exactCallB(self::ClassB* object) → void {
-  object.usedInSubclass();
-}
-static method unusedTopLevel() → dynamic {
-  core::print("Unused");
-}
-static method usedTopLevel() → dynamic {}
-static method main() → dynamic {
-  self::usedTopLevel();
-  self::ClassA* a = new self::ClassA::•();
-  self::exactCallA(a);
-  self::baseClassCall(a);
-  self::interfaceCall(a);
-  self::ClassB* b = new self::ClassB::•();
-  self::exactCallB(b);
-  self::baseClassCall(b);
-  self::interfaceCall(b);
-  new self::InstantiatedButMethodsUnused::•();
-}
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.legacy.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.legacy.expect
deleted file mode 100644
index ed64e48..0000000
--- a/pkg/front_end/testcases/general/var_as_type_name.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/var_as_type_name.dart:6:15: Error: The keyword 'var' can't be used as a type name.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general/var_as_type_name.dart:6:15: Warning: Type 'var' not found.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general/var_as_type_name.dart:6:15: Warning: 'var' isn't a type.
-//   Map<String, var> m;
-//               ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::Map<core::String*, invalid-type>* m = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  a.m = null;
-}
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.legacy.transformed.expect
deleted file mode 100644
index ed64e48..0000000
--- a/pkg/front_end/testcases/general/var_as_type_name.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/var_as_type_name.dart:6:15: Error: The keyword 'var' can't be used as a type name.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general/var_as_type_name.dart:6:15: Warning: Type 'var' not found.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general/var_as_type_name.dart:6:15: Warning: 'var' isn't a type.
-//   Map<String, var> m;
-//               ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::Map<core::String*, invalid-type>* m = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  a.m = null;
-}
diff --git a/pkg/front_end/testcases/general/void_methods.dart.legacy.expect b/pkg/front_end/testcases/general/void_methods.dart.legacy.expect
deleted file mode 100644
index dfbe035..0000000
--- a/pkg/front_end/testcases/general/void_methods.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::List<dynamic> list = <dynamic>[1, 2, 3];
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  set first(dynamic x) → dynamic
-    this.list.[]=(0, x);
-  operator []=(dynamic x, dynamic y) → dynamic
-    this.list.[]=(x, y);
-  method clear() → void
-    return this.list.clear();
-}
-static method main() → dynamic {
-  new self::Foo::•().first = 4;
-  new self::Foo::•().[]=(3, 4);
-  new self::Foo::•().clear();
-}
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.legacy.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.legacy.expect
deleted file mode 100644
index 3b7e7f9..0000000
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.legacy.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:48:39: Warning: Getter not found: 'missingField'.
-//     this. /*@warning=GetterNotFound*/ missingField;
-//                                       ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:49:39: Warning: Setter not found: 'missingField'.
-//     this. /*@warning=SetterNotFound*/ missingField = 0;
-//                                       ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:50:39: Warning: Method not found: 'missingMethod'.
-//     this. /*@warning=MethodNotFound*/ missingMethod();
-//                                       ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:52:33: Warning: Getter not found: 'missingField'.
-//     /*@warning=GetterNotFound*/ missingField;
-//                                 ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:53:33: Warning: Setter not found: 'missingField'.
-//     /*@warning=SetterNotFound*/ missingField = 0;
-//                                 ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:54:33: Warning: Method not found: 'missingMethod'.
-//     /*@warning=MethodNotFound*/ missingMethod();
-//                                 ^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic superField = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method superMethod() → dynamic {}
-  get setterOnly() → dynamic
-    return null;
-  set setterOnly(dynamic _) → void {}
-  get getterOnly() → dynamic
-    return null;
-  set getterOnly(dynamic _) → void {}
-}
-class D extends self::C {
-  field dynamic field = null;
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set setterOnly(dynamic _) → void {}
-  get getterOnly() → dynamic
-    return null;
-  method method() → dynamic {}
-  method test() → void {
-    this.{self::D::field};
-    this.{self::C::superField};
-    this.{self::D::field} = 0;
-    this.{self::C::superField} = 0;
-    this.{self::D::method}();
-    this.{self::C::superMethod}();
-    this.{self::C::setterOnly};
-    this.{self::D::setterOnly} = 0;
-    this.{self::D::getterOnly};
-    this.{self::C::getterOnly} = 0;
-    this.{self::D::field};
-    this.{self::C::superField};
-    this.{self::D::field} = 0;
-    this.{self::C::superField} = 0;
-    this.{self::D::method}();
-    this.{self::C::superMethod}();
-    this.{self::C::setterOnly};
-    this.{self::D::setterOnly} = 0;
-    this.{self::D::getterOnly};
-    this.{self::C::getterOnly} = 0;
-    this.missingField;
-    this.missingField = 0;
-    this.missingMethod();
-    this.missingField;
-    this.missingField = 0;
-    this.missingMethod();
-  }
-}
-class E extends self::D {
-  field dynamic missingField = null;
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method missingMethod() → void {}
-}
-static method main() → dynamic {
-  new self::E::•().test();
-}
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.legacy.transformed.expect
deleted file mode 100644
index 3b7e7f9..0000000
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:48:39: Warning: Getter not found: 'missingField'.
-//     this. /*@warning=GetterNotFound*/ missingField;
-//                                       ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:49:39: Warning: Setter not found: 'missingField'.
-//     this. /*@warning=SetterNotFound*/ missingField = 0;
-//                                       ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:50:39: Warning: Method not found: 'missingMethod'.
-//     this. /*@warning=MethodNotFound*/ missingMethod();
-//                                       ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:52:33: Warning: Getter not found: 'missingField'.
-//     /*@warning=GetterNotFound*/ missingField;
-//                                 ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:53:33: Warning: Setter not found: 'missingField'.
-//     /*@warning=SetterNotFound*/ missingField = 0;
-//                                 ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/warn_unresolved_sends.dart:54:33: Warning: Method not found: 'missingMethod'.
-//     /*@warning=MethodNotFound*/ missingMethod();
-//                                 ^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic superField = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method superMethod() → dynamic {}
-  get setterOnly() → dynamic
-    return null;
-  set setterOnly(dynamic _) → void {}
-  get getterOnly() → dynamic
-    return null;
-  set getterOnly(dynamic _) → void {}
-}
-class D extends self::C {
-  field dynamic field = null;
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set setterOnly(dynamic _) → void {}
-  get getterOnly() → dynamic
-    return null;
-  method method() → dynamic {}
-  method test() → void {
-    this.{self::D::field};
-    this.{self::C::superField};
-    this.{self::D::field} = 0;
-    this.{self::C::superField} = 0;
-    this.{self::D::method}();
-    this.{self::C::superMethod}();
-    this.{self::C::setterOnly};
-    this.{self::D::setterOnly} = 0;
-    this.{self::D::getterOnly};
-    this.{self::C::getterOnly} = 0;
-    this.{self::D::field};
-    this.{self::C::superField};
-    this.{self::D::field} = 0;
-    this.{self::C::superField} = 0;
-    this.{self::D::method}();
-    this.{self::C::superMethod}();
-    this.{self::C::setterOnly};
-    this.{self::D::setterOnly} = 0;
-    this.{self::D::getterOnly};
-    this.{self::C::getterOnly} = 0;
-    this.missingField;
-    this.missingField = 0;
-    this.missingMethod();
-    this.missingField;
-    this.missingField = 0;
-    this.missingMethod();
-  }
-}
-class E extends self::D {
-  field dynamic missingField = null;
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method missingMethod() → void {}
-}
-static method main() → dynamic {
-  new self::E::•().test();
-}
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.legacy.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.legacy.expect
deleted file mode 100644
index bc5a2ac..0000000
--- a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/abstract_class_instantiation.dart:15:27: Warning: The class 'C' is abstract and can't be instantiated.
-//   var /*@type=C*/ x = new C();
-//                           ^
-//
-// pkg/front_end/testcases/inference/abstract_class_instantiation.dart:16:50: Warning: The class 'D' is abstract and can't be instantiated.
-//   var /*@type=D<int>*/ y = new /*@typeArgs=int*/ D(1);
-//                                                  ^
-//
-// pkg/front_end/testcases/inference/abstract_class_instantiation.dart:17:48: Warning: The class 'D' is abstract and can't be instantiated.
-//   D<List<int>> z = new /*@typeArgs=List<int>*/ D(/*@typeArgs=int*/ []);
-//                                                ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-abstract class D<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::D::T* t) → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  dynamic x = throw new core::AbstractClassInstantiationError::•("C");
-  dynamic y = let final core::Object* #t1 = 1 in throw new core::AbstractClassInstantiationError::•("D");
-  self::D<core::List<core::int*>*>* z = let final core::Object* #t2 = <dynamic>[] in throw new core::AbstractClassInstantiationError::•("D");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.legacy.transformed.expect
deleted file mode 100644
index bc5a2ac..0000000
--- a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/abstract_class_instantiation.dart:15:27: Warning: The class 'C' is abstract and can't be instantiated.
-//   var /*@type=C*/ x = new C();
-//                           ^
-//
-// pkg/front_end/testcases/inference/abstract_class_instantiation.dart:16:50: Warning: The class 'D' is abstract and can't be instantiated.
-//   var /*@type=D<int>*/ y = new /*@typeArgs=int*/ D(1);
-//                                                  ^
-//
-// pkg/front_end/testcases/inference/abstract_class_instantiation.dart:17:48: Warning: The class 'D' is abstract and can't be instantiated.
-//   D<List<int>> z = new /*@typeArgs=List<int>*/ D(/*@typeArgs=int*/ []);
-//                                                ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-abstract class D<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::D::T* t) → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  dynamic x = throw new core::AbstractClassInstantiationError::•("C");
-  dynamic y = let final core::Object* #t1 = 1 in throw new core::AbstractClassInstantiationError::•("D");
-  self::D<core::List<core::int*>*>* z = let final core::Object* #t2 = <dynamic>[] in throw new core::AbstractClassInstantiationError::•("D");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/assert.dart.legacy.expect b/pkg/front_end/testcases/inference/assert.dart.legacy.expect
deleted file mode 100644
index baa302e..0000000
--- a/pkg/front_end/testcases/inference/assert.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → void {
-  assert(self::f<dynamic>());
-  assert(self::f<dynamic>(), self::f<dynamic>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/assert.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/assert.dart.legacy.transformed.expect
deleted file mode 100644
index baa302e..0000000
--- a/pkg/front_end/testcases/inference/assert.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → void {
-  assert(self::f<dynamic>());
-  assert(self::f<dynamic>(), self::f<dynamic>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.legacy.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.legacy.expect
deleted file mode 100644
index 7d14743..0000000
--- a/pkg/front_end/testcases/inference/assert_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor expressionOnly() → self::C*
-    : assert(self::f<dynamic>()), super core::Object::•()
-    ;
-  constructor expressionAndMessage() → self::C*
-    : assert(self::f<dynamic>(), self::f<dynamic>()), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {
-  assert(self::f<dynamic>());
-  assert(self::f<dynamic>(), self::f<dynamic>());
-}
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.legacy.transformed.expect
deleted file mode 100644
index 7d14743..0000000
--- a/pkg/front_end/testcases/inference/assert_initializer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor expressionOnly() → self::C*
-    : assert(self::f<dynamic>()), super core::Object::•()
-    ;
-  constructor expressionAndMessage() → self::C*
-    : assert(self::f<dynamic>(), self::f<dynamic>()), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {
-  assert(self::f<dynamic>());
-  assert(self::f<dynamic>(), self::f<dynamic>());
-}
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.legacy.expect b/pkg/front_end/testcases/inference/assign_local.dart.legacy.expect
deleted file mode 100644
index 51f001d..0000000
--- a/pkg/front_end/testcases/inference/assign_local.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  core::num* x;
-  dynamic x1 = x = 1;
-  dynamic x2 = x = 1.0;
-  self::A<core::int*>* y;
-  dynamic y1 = y = new self::A::•<dynamic>();
-  dynamic y2 = y = new self::B::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/assign_local.dart.legacy.transformed.expect
deleted file mode 100644
index 51f001d..0000000
--- a/pkg/front_end/testcases/inference/assign_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  core::num* x;
-  dynamic x1 = x = 1;
-  dynamic x2 = x = 1.0;
-  self::A<core::int*>* y;
-  dynamic y1 = y = new self::A::•<dynamic>();
-  dynamic y2 = y = new self::B::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/async_await.dart.legacy.expect b/pkg/front_end/testcases/inference/async_await.dart.legacy.expect
deleted file mode 100644
index 30b6cfb..0000000
--- a/pkg/front_end/testcases/inference/async_await.dart.legacy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-abstract class MyFuture extends core::Object implements asy::Future<core::int*> {
-  synthetic constructor •() → self::MyFuture*
-    : super core::Object::•()
-    ;
-}
-static method test() → void async {
-  core::int* x0;
-  asy::Future<core::int*>* x1;
-  asy::Future<asy::Future<core::int*>*>* x2;
-  asy::Future<asy::FutureOr<core::int*>*>* x3;
-  asy::Future<self::MyFuture*>* x4;
-  asy::FutureOr<core::int*>* x5;
-  asy::FutureOr<asy::Future<core::int*>*>* x6;
-  asy::FutureOr<asy::FutureOr<core::int*>*>* x7;
-  asy::FutureOr<self::MyFuture*>* x8;
-  self::MyFuture* x9;
-  function test0() → dynamic async 
-    return x0;
-  function test1() → dynamic async 
-    return x1;
-  function test2() → dynamic async 
-    return x2;
-  function test3() → dynamic async 
-    return x3;
-  function test4() → dynamic async 
-    return x4;
-  function test5() → dynamic async 
-    return x5;
-  function test6() → dynamic async 
-    return x6;
-  function test7() → dynamic async 
-    return x7;
-  function test8() → dynamic async 
-    return x8;
-  function test9() → dynamic async 
-    return x9;
-  dynamic y0 = await x0;
-  dynamic y1 = await x1;
-  dynamic y2 = await x2;
-  dynamic y3 = await x3;
-  dynamic y4 = await x4;
-  dynamic y5 = await x5;
-  dynamic y6 = await x6;
-  dynamic y7 = await x7;
-  dynamic y8 = await x8;
-  dynamic y9 = await x9;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/async_await.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/async_await.dart.legacy.transformed.expect
deleted file mode 100644
index 26a880a..0000000
--- a/pkg/front_end/testcases/inference/async_await.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,339 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-abstract class MyFuture extends core::Object implements asy::Future<core::int*> {
-  synthetic constructor •() → self::MyFuture*
-    : super core::Object::•()
-    ;
-}
-static method test() → void /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        core::int* x0;
-        asy::Future<core::int*>* x1;
-        asy::Future<asy::Future<core::int*>*>* x2;
-        asy::Future<asy::FutureOr<core::int*>*>* x3;
-        asy::Future<self::MyFuture*>* x4;
-        asy::FutureOr<core::int*>* x5;
-        asy::FutureOr<asy::Future<core::int*>*>* x6;
-        asy::FutureOr<asy::FutureOr<core::int*>*>* x7;
-        asy::FutureOr<self::MyFuture*>* x8;
-        self::MyFuture* x9;
-        function test0() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L2:
-              {
-                :return_value = x0;
-                break #L2;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test1() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L3:
-              {
-                :return_value = x1;
-                break #L3;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test2() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L4:
-              {
-                :return_value = x2;
-                break #L4;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test3() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L5:
-              {
-                :return_value = x3;
-                break #L5;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test4() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L6:
-              {
-                :return_value = x4;
-                break #L6;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test5() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L7:
-              {
-                :return_value = x5;
-                break #L7;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test6() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L8:
-              {
-                :return_value = x6;
-                break #L8;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test7() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L9:
-              {
-                :return_value = x7;
-                break #L9;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test8() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L10:
-              {
-                :return_value = x8;
-                break #L10;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        function test9() → dynamic /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L11:
-              {
-                :return_value = x9;
-                break #L11;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        }
-        [yield] let dynamic #t1 = asy::_awaitHelper(x0, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y0 = :result;
-        [yield] let dynamic #t2 = asy::_awaitHelper(x1, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y1 = :result;
-        [yield] let dynamic #t3 = asy::_awaitHelper(x2, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y2 = :result;
-        [yield] let dynamic #t4 = asy::_awaitHelper(x3, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y3 = :result;
-        [yield] let dynamic #t5 = asy::_awaitHelper(x4, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y4 = :result;
-        [yield] let dynamic #t6 = asy::_awaitHelper(x5, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y5 = :result;
-        [yield] let dynamic #t7 = asy::_awaitHelper(x6, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y6 = :result;
-        [yield] let dynamic #t8 = asy::_awaitHelper(x7, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y7 = :result;
-        [yield] let dynamic #t9 = asy::_awaitHelper(x8, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y8 = :result;
-        [yield] let dynamic #t10 = asy::_awaitHelper(x9, :async_op_then, :async_op_error, :async_op) in null;
-        dynamic y9 = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.legacy.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.legacy.expect
deleted file mode 100644
index 64db200..0000000
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field asy::Future<core::int*>* futureInt = null;
-static field dynamic f = () → dynamic => self::futureInt;
-static field dynamic g = () → asy::Future<dynamic>* async => self::futureInt;
-static method main() → dynamic {
-  self::f;
-  self::g;
-}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.legacy.transformed.expect
deleted file mode 100644
index d21aa14..0000000
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field asy::Future<core::int*>* futureInt = null;
-static field dynamic f = () → dynamic => self::futureInt;
-static field dynamic g = () → asy::Future<dynamic>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = self::futureInt;
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-};
-static method main() → dynamic {
-  self::f;
-  self::g;
-}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.legacy.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.legacy.expect
deleted file mode 100644
index 119587c..0000000
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-
-static field dynamic f = () → asy::Future<dynamic>* async => 0;
-static method main() → dynamic {
-  self::f;
-}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.legacy.transformed.expect
deleted file mode 100644
index 4dc3764..0000000
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-
-static field dynamic f = () → asy::Future<dynamic>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = 0;
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-};
-static method main() → dynamic {
-  self::f;
-}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.legacy.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.legacy.expect
deleted file mode 100644
index 618cc9b..0000000
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field asy::FutureOr<core::int*>* futureOrInt = null;
-static field dynamic f = () → dynamic => self::futureOrInt;
-static field dynamic g = () → asy::Future<dynamic>* async => self::futureOrInt;
-static method main() → dynamic {
-  self::f;
-  self::g;
-}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.legacy.transformed.expect
deleted file mode 100644
index a05afae..0000000
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field asy::FutureOr<core::int*>* futureOrInt = null;
-static field dynamic f = () → dynamic => self::futureOrInt;
-static field dynamic g = () → asy::Future<dynamic>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = self::futureOrInt;
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-};
-static method main() → dynamic {
-  self::f;
-  self::g;
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.legacy.expect
deleted file mode 100644
index bfc49a0..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:math" as math;
-import "dart:core" as core;
-
-import "dart:async";
-import "dart:math";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Future<dynamic>* async {
-    if(math::Random::•().nextBool()) {
-      return asy::Future::value<core::int*>(1);
-    }
-    else {
-      return asy::Future::value<core::double*>(2.0);
-    }
-  };
-  asy::Future<core::num*>* g = f.call();
-  asy::Future<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.legacy.transformed.expect
deleted file mode 100644
index e8f21fa..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:math" as math;
-import "dart:core" as core;
-
-import "dart:async";
-import "dart:math";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(math::Random::•().nextBool()) {
-            :return_value = asy::Future::value<core::int*>(1);
-            break #L1;
-          }
-          else {
-            :return_value = asy::Future::value<core::double*>(2.0);
-            break #L1;
-          }
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  };
-  asy::Future<core::num*>* g = f.call();
-  asy::Future<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.legacy.expect
deleted file mode 100644
index 4e4ca26..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:math" as math;
-import "dart:core" as core;
-
-import "dart:async";
-import "dart:math";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Future<dynamic>* async {
-    if(math::Random::•().nextBool()) {
-      return 1;
-    }
-    else {
-      return 2.0;
-    }
-  };
-  asy::Future<core::num*>* g = f.call();
-  asy::Future<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.legacy.transformed.expect
deleted file mode 100644
index a99deb5..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:math" as math;
-import "dart:core" as core;
-
-import "dart:async";
-import "dart:math";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(math::Random::•().nextBool()) {
-            :return_value = 1;
-            break #L1;
-          }
-          else {
-            :return_value = 2.0;
-            break #L1;
-          }
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  };
-  asy::Future<core::num*>* g = f.call();
-  asy::Future<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.legacy.expect
deleted file mode 100644
index 90f6b9b..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:math" as math;
-import "dart:core" as core;
-
-import "dart:async";
-import "dart:math";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Future<dynamic>* async {
-    if(math::Random::•().nextBool()) {
-      return asy::Future::value<core::int*>(1);
-    }
-    else {
-      return 2.0;
-    }
-  };
-  asy::Future<core::num*>* g = f.call();
-  asy::Future<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.legacy.transformed.expect
deleted file mode 100644
index 164cd19..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:math" as math;
-import "dart:core" as core;
-
-import "dart:async";
-import "dart:math";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(math::Random::•().nextBool()) {
-            :return_value = asy::Future::value<core::int*>(1);
-            break #L1;
-          }
-          else {
-            :return_value = 2.0;
-            break #L1;
-          }
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  };
-  asy::Future<core::num*>* g = f.call();
-  asy::Future<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.legacy.expect
deleted file mode 100644
index 4e18c0c..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Stream<dynamic>* async* {
-    yield 1;
-    asy::Stream<core::double*>* s;
-    yield* s;
-  };
-  asy::Stream<core::num*>* g = f.call();
-  asy::Stream<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.legacy.transformed.expect
deleted file mode 100644
index 1643166..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method test() → dynamic {
-  dynamic f = () → asy::Stream<dynamic>* /* originally async* */ {
-    asy::_AsyncStarStreamController<dynamic>* :controller;
-    dynamic :controller_stream;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try
-        try {
-          #L1:
-          {
-            if(:controller.{asy::_AsyncStarStreamController::add}(1))
-              return null;
-            else
-              [yield] null;
-            asy::Stream<core::double*>* s;
-            if(:controller.{asy::_AsyncStarStreamController::addStream}(s))
-              return null;
-            else
-              [yield] null;
-          }
-          return;
-        }
-        on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-          :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-        }
-      finally {
-        :controller.{asy::_AsyncStarStreamController::close}();
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
-    :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-    return :controller_stream;
-  };
-  asy::Stream<core::num*>* g = f.call();
-  asy::Stream<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.legacy.expect
deleted file mode 100644
index a80d8cd..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::List<core::int*>* o;
-  dynamic y = o.map((dynamic x) → dynamic {
-    return x.+(1);
-  });
-  core::Iterable<core::int*>* z = y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.legacy.transformed.expect
deleted file mode 100644
index a80d8cd..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::List<core::int*>* o;
-  dynamic y = o.map((dynamic x) → dynamic {
-    return x.+(1);
-  });
-  core::Iterable<core::int*>* z = y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.legacy.expect
deleted file mode 100644
index f67a02c..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic {
-  core::List<core::int*>* o;
-  o.where((dynamic i) → dynamic {
-    return i.==(0);
-  });
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.legacy.transformed.expect
deleted file mode 100644
index f67a02c..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic {
-  core::List<core::int*>* o;
-  o.where((dynamic i) → dynamic {
-    return i.==(0);
-  });
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.legacy.expect
deleted file mode 100644
index c7e67bf..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f() → core::String*
-    return null;
-  dynamic g = f;
-  g = () → dynamic {
-    return 1;
-  };
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.legacy.transformed.expect
deleted file mode 100644
index c7e67bf..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f() → core::String*
-    return null;
-  dynamic g = f;
-  g = () → dynamic {
-    return 1;
-  };
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.legacy.expect
deleted file mode 100644
index 463755f..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic g = #C1;
-static method f() → core::String*
-  return null;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index 463755f..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic g = #C1;
-static method f() → core::String*
-  return null;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.legacy.expect
deleted file mode 100644
index d1d19a5..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic async {
-  dynamic f = () → asy::Future<dynamic>* async {
-    return null;
-  };
-  asy::Future<dynamic>* y = f.call();
-  asy::Future<core::String*>* z = f.call();
-  core::String* s = await f.call();
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.legacy.transformed.expect
deleted file mode 100644
index 18fdaf1..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        dynamic f = () → asy::Future<dynamic>* /* originally async */ {
-          final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-          asy::FutureOr<dynamic>* :return_value;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try {
-              #L2:
-              {
-                :return_value = null;
-                break #L2;
-              }
-              asy::_completeOnAsyncReturn(:async_completer, :return_value);
-              return;
-            }
-            on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-              :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :async_completer.start(:async_op);
-          return :async_completer.{asy::Completer::future};
-        };
-        asy::Future<dynamic>* y = f.call();
-        asy::Future<core::String*>* z = f.call();
-        [yield] let dynamic #t1 = asy::_awaitHelper(f.call(), :async_op_then, :async_op_error, :async_op) in null;
-        core::String* s = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.legacy.expect
deleted file mode 100644
index 7fb8858..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic async {
-  dynamic f = () → asy::Stream<dynamic>* async* {
-    yield null;
-  };
-  asy::Stream<dynamic>* y = f.call();
-  asy::Stream<core::String*>* z = f.call();
-  core::String* s = await f.call().first;
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.legacy.transformed.expect
deleted file mode 100644
index b3cf8cc..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        dynamic f = () → asy::Stream<dynamic>* /* originally async* */ {
-          asy::_AsyncStarStreamController<dynamic>* :controller;
-          dynamic :controller_stream;
-          dynamic :async_stack_trace;
-          dynamic :async_op_then;
-          dynamic :async_op_error;
-          dynamic :await_jump_var = 0;
-          dynamic :await_ctx_var;
-          dynamic :saved_try_context_var0;
-          dynamic :saved_try_context_var1;
-          function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-            try
-              try {
-                #L2:
-                {
-                  if(:controller.{asy::_AsyncStarStreamController::add}(null))
-                    return null;
-                  else
-                    [yield] null;
-                }
-                return;
-              }
-              on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-                :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-              }
-            finally {
-              :controller.{asy::_AsyncStarStreamController::close}();
-            }
-          :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-          :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-          :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-          :controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
-          :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-          return :controller_stream;
-        };
-        asy::Stream<dynamic>* y = f.call();
-        asy::Stream<core::String*>* z = f.call();
-        [yield] let dynamic #t1 = asy::_awaitHelper(f.call().first, :async_op_then, :async_op_error, :async_op) in null;
-        core::String* s = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.legacy.expect
deleted file mode 100644
index 6caa863..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic h = null;
-static method foo((core::Object*) →* core::int* f) → void {}
-static method test() → dynamic {
-  dynamic f = (core::Object* x) → dynamic {
-    return null;
-  };
-  core::String* y = f.call(42);
-  f = (dynamic x) → dynamic => "hello";
-  self::foo((dynamic x) → dynamic {
-    return null;
-  });
-  self::foo((dynamic x) → dynamic {
-    throw "not implemented";
-  });
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.legacy.transformed.expect
deleted file mode 100644
index 6caa863..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic h = null;
-static method foo((core::Object*) →* core::int* f) → void {}
-static method test() → dynamic {
-  dynamic f = (core::Object* x) → dynamic {
-    return null;
-  };
-  core::String* y = f.call(42);
-  f = (dynamic x) → dynamic => "hello";
-  self::foo((dynamic x) → dynamic {
-    return null;
-  });
-  self::foo((dynamic x) → dynamic {
-    throw "not implemented";
-  });
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.legacy.expect
deleted file mode 100644
index 010e26e..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic f = () → core::Iterable<dynamic>* sync* {
-    yield null;
-  };
-  core::Iterable<dynamic>* y = f.call();
-  core::Iterable<core::String*>* z = f.call();
-  core::String* s = f.call().first;
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.legacy.transformed.expect
deleted file mode 100644
index 63210af..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic f = () → core::Iterable<dynamic>* /* originally sync* */ {
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<dynamic>* :iterator) → core::bool* yielding {
-      {
-        {
-          :iterator.{core::_SyncIterator::_current} = null;
-          [yield] true;
-        }
-      }
-      return false;
-    }
-    return new core::_SyncIterable::•<dynamic>(:sync_op);
-  };
-  core::Iterable<dynamic>* y = f.call();
-  core::Iterable<core::String*>* z = f.call();
-  core::String* s = f.call().first;
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.legacy.expect
deleted file mode 100644
index bb20029..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-import "dart:math";
-
-static method test2() → dynamic {
-  core::List<core::num*>* o;
-  dynamic y = o.map((dynamic x) → dynamic {
-    if(math::Random::•().nextBool()) {
-      return x.toInt().+(1);
-    }
-    else {
-      return x.toDouble();
-    }
-  });
-  core::Iterable<core::num*>* w = y;
-  core::Iterable<core::int*>* z = y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.legacy.transformed.expect
deleted file mode 100644
index bb20029..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-import "dart:math";
-
-static method test2() → dynamic {
-  core::List<core::num*>* o;
-  dynamic y = o.map((dynamic x) → dynamic {
-    if(math::Random::•().nextBool()) {
-      return x.toInt().+(1);
-    }
-    else {
-      return x.toDouble();
-    }
-  });
-  core::Iterable<core::num*>* w = y;
-  core::Iterable<core::int*>* z = y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.legacy.expect
deleted file mode 100644
index bc0b688..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic f = () → dynamic {
-    return (core::int* x) → dynamic {
-      return 2.0.*(x);
-    };
-  };
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.legacy.transformed.expect
deleted file mode 100644
index bc0b688..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic f = () → dynamic {
-    return (core::int* x) → dynamic {
-      return 2.0.*(x);
-    };
-  };
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.legacy.expect
deleted file mode 100644
index 7b30c9a..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::List<core::int*>* o;
-  dynamic y = o.map((dynamic x) → dynamic {});
-  core::Iterable<core::int*>* z = y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.legacy.transformed.expect
deleted file mode 100644
index 7b30c9a..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::List<core::int*>* o;
-  dynamic y = o.map((dynamic x) → dynamic {});
-  core::Iterable<core::int*>* z = y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.legacy.expect
deleted file mode 100644
index 7a039b1..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.legacy.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic a = () → dynamic {};
-  dynamic b = () → dynamic {
-    return;
-  };
-  dynamic c = () → dynamic {
-    return null;
-  };
-  dynamic d = () → dynamic {
-    return 0;
-  };
-  dynamic e = (core::bool* b) → dynamic {
-    if(b) {
-      return;
-    }
-    else {
-      return;
-    }
-  };
-  dynamic f = (core::bool* b) → dynamic {
-    if(b) {
-      return;
-    }
-    else {
-      return null;
-    }
-  };
-  dynamic g = (core::bool* b) → dynamic {
-    if(b) {
-      return;
-    }
-    else {
-      return 0;
-    }
-  };
-  dynamic h = (core::bool* b) → dynamic {
-    if(b) {
-      return null;
-    }
-    else {
-      return;
-    }
-  };
-  dynamic i = (core::bool* b) → dynamic {
-    if(b) {
-      return null;
-    }
-    else {
-      return null;
-    }
-  };
-  dynamic j = (core::bool* b) → dynamic {
-    if(b) {
-      return null;
-    }
-    else {
-      return 0;
-    }
-  };
-  dynamic k = (core::bool* b) → dynamic {
-    if(b) {
-      return 0;
-    }
-    else {
-      return;
-    }
-  };
-  dynamic l = (core::bool* b) → dynamic {
-    if(b) {
-      return 0;
-    }
-    else {
-      return null;
-    }
-  };
-  dynamic m = (core::bool* b) → dynamic {
-    if(b) {
-      return 0;
-    }
-    else {
-      return 0;
-    }
-  };
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.legacy.transformed.expect
deleted file mode 100644
index 7a039b1..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic a = () → dynamic {};
-  dynamic b = () → dynamic {
-    return;
-  };
-  dynamic c = () → dynamic {
-    return null;
-  };
-  dynamic d = () → dynamic {
-    return 0;
-  };
-  dynamic e = (core::bool* b) → dynamic {
-    if(b) {
-      return;
-    }
-    else {
-      return;
-    }
-  };
-  dynamic f = (core::bool* b) → dynamic {
-    if(b) {
-      return;
-    }
-    else {
-      return null;
-    }
-  };
-  dynamic g = (core::bool* b) → dynamic {
-    if(b) {
-      return;
-    }
-    else {
-      return 0;
-    }
-  };
-  dynamic h = (core::bool* b) → dynamic {
-    if(b) {
-      return null;
-    }
-    else {
-      return;
-    }
-  };
-  dynamic i = (core::bool* b) → dynamic {
-    if(b) {
-      return null;
-    }
-    else {
-      return null;
-    }
-  };
-  dynamic j = (core::bool* b) → dynamic {
-    if(b) {
-      return null;
-    }
-    else {
-      return 0;
-    }
-  };
-  dynamic k = (core::bool* b) → dynamic {
-    if(b) {
-      return 0;
-    }
-    else {
-      return;
-    }
-  };
-  dynamic l = (core::bool* b) → dynamic {
-    if(b) {
-      return 0;
-    }
-    else {
-      return null;
-    }
-  };
-  dynamic m = (core::bool* b) → dynamic {
-    if(b) {
-      return 0;
-    }
-    else {
-      return 0;
-    }
-  };
-}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.legacy.expect
deleted file mode 100644
index d4df224..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  dynamic f = () → core::Iterable<dynamic>* sync* {
-    yield 1;
-    yield*<dynamic>[3, 4.0];
-  };
-  core::Iterable<core::num*>* g = f.call();
-  core::Iterable<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.legacy.transformed.expect
deleted file mode 100644
index 59505bf..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  dynamic f = () → core::Iterable<dynamic>* /* originally sync* */ {
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<dynamic>* :iterator) → core::bool* yielding {
-      {
-        {
-          :iterator.{core::_SyncIterator::_current} = 1;
-          [yield] true;
-        }
-        {
-          :iterator.{core::_SyncIterator::_yieldEachIterable} = <dynamic>[3, 4.0];
-          [yield] true;
-        }
-      }
-      return false;
-    }
-    return new core::_SyncIterable::•<dynamic>(:sync_op);
-  };
-  core::Iterable<core::num*>* g = f.call();
-  core::Iterable<core::int*>* h = f.call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.legacy.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.legacy.expect
deleted file mode 100644
index 50bbcf8..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic {
-  core::List<core::int*>* o;
-  o.forEach((dynamic i) → dynamic {
-    return i.+(1);
-  });
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.legacy.transformed.expect
deleted file mode 100644
index 50bbcf8..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic {
-  core::List<core::int*>* o;
-  o.forEach((dynamic i) → dynamic {
-    return i.+(1);
-  });
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bottom.dart.legacy.expect b/pkg/front_end/testcases/inference/bottom.dart.legacy.expect
deleted file mode 100644
index d841a5d..0000000
--- a/pkg/front_end/testcases/inference/bottom.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/bottom.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bottom.dart.legacy.transformed.expect
deleted file mode 100644
index d841a5d..0000000
--- a/pkg/front_end/testcases/inference/bottom.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.legacy.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.legacy.expect
deleted file mode 100644
index f08a258..0000000
--- a/pkg/front_end/testcases/inference/bottom_in_closure.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic v = () → dynamic => null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.legacy.transformed.expect
deleted file mode 100644
index f08a258..0000000
--- a/pkg/front_end/testcases/inference/bottom_in_closure.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic v = () → dynamic => null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.legacy.expect b/pkg/front_end/testcases/inference/bug30251.dart.legacy.expect
deleted file mode 100644
index 7b4845b..0000000
--- a/pkg/front_end/testcases/inference/bug30251.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x;
-  constructor •(core::int* p) → self::C*
-    : self::C::x = self::f<dynamic>(1.+(p)), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* t) → self::f::T*
-  return t;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug30251.dart.legacy.transformed.expect
deleted file mode 100644
index 7b4845b..0000000
--- a/pkg/front_end/testcases/inference/bug30251.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x;
-  constructor •(core::int* p) → self::C*
-    : self::C::x = self::f<dynamic>(1.+(p)), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* t) → self::f::T*
-  return t;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.legacy.expect b/pkg/front_end/testcases/inference/bug30620.dart.legacy.expect
deleted file mode 100644
index e1c03c1..0000000
--- a/pkg/front_end/testcases/inference/bug30620.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* foo;
-  constructor •(core::String* foo) → self::A*
-    : self::A::foo = foo, super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return other is self::A* && other.foo.==(this.{self::A::foo});
-}
-static method main() → dynamic {
-  core::print(new self::A::•("hello").==(new self::A::•("hello")));
-}
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug30620.dart.legacy.transformed.expect
deleted file mode 100644
index e1c03c1..0000000
--- a/pkg/front_end/testcases/inference/bug30620.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* foo;
-  constructor •(core::String* foo) → self::A*
-    : self::A::foo = foo, super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return other is self::A* && other.foo.==(this.{self::A::foo});
-}
-static method main() → dynamic {
-  core::print(new self::A::•("hello").==(new self::A::•("hello")));
-}
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.legacy.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.legacy.expect
deleted file mode 100644
index 5ea0147..0000000
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* foo;
-  constructor •(core::String* foo) → self::A*
-    : self::A::foo = foo, super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return other is self::A* && other.foo.==(this.{self::A::foo}) && other.foo.==(this.{self::A::foo});
-}
-static method main() → dynamic {
-  core::print(new self::A::•("hello").==(new self::A::•("hello")));
-}
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.legacy.transformed.expect
deleted file mode 100644
index 5ea0147..0000000
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* foo;
-  constructor •(core::String* foo) → self::A*
-    : self::A::foo = foo, super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return other is self::A* && other.foo.==(this.{self::A::foo}) && other.foo.==(this.{self::A::foo});
-}
-static method main() → dynamic {
-  core::print(new self::A::•("hello").==(new self::A::•("hello")));
-}
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.legacy.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.legacy.expect
deleted file mode 100644
index 274610f..0000000
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* foo;
-  constructor •(core::String* foo) → self::A*
-    : self::A::foo = foo, super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool* {
-    if(other is self::A* && other.foo.==(this.{self::A::foo})) {
-      if(other.foo.==(this.{self::A::foo})) {
-      }
-    }
-    return true;
-  }
-}
-static method main() → dynamic {
-  core::print(new self::A::•("hello").==(new self::A::•("hello")));
-}
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.legacy.transformed.expect
deleted file mode 100644
index 274610f..0000000
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* foo;
-  constructor •(core::String* foo) → self::A*
-    : self::A::foo = foo, super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool* {
-    if(other is self::A* && other.foo.==(this.{self::A::foo})) {
-      if(other.foo.==(this.{self::A::foo})) {
-      }
-    }
-    return true;
-  }
-}
-static method main() → dynamic {
-  core::print(new self::A::•("hello").==(new self::A::•("hello")));
-}
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.legacy.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.legacy.expect
deleted file mode 100644
index adb0648..0000000
--- a/pkg/front_end/testcases/inference/bug30620_d.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method foo(dynamic obj) → core::String*
-  return obj is core::String* ? obj.toUpperCase() : null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.legacy.transformed.expect
deleted file mode 100644
index adb0648..0000000
--- a/pkg/front_end/testcases/inference/bug30620_d.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method foo(dynamic obj) → core::String*
-  return obj is core::String* ? obj.toUpperCase() : null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.legacy.expect b/pkg/front_end/testcases/inference/bug30624.dart.legacy.expect
deleted file mode 100644
index 5b40273..0000000
--- a/pkg/front_end/testcases/inference/bug30624.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::E*>*
-    : super core::Object::•()
-    ;
-  method barA([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, let final dynamic #t1 = cmp in #t1.==(null) ? #C2 : #t1);
-  }
-  method barB([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, let final dynamic #t2 = cmp in #t2.==(null) ? (#C2) as (self::C::E*, self::C::E*) →* core::int* : #t2);
-  }
-  method barC([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    (self::C::E*, self::C::E*) →* core::int* v = #C2;
-    self::foo<dynamic>(this, let final dynamic #t3 = cmp in #t3.==(null) ? v : #t3);
-  }
-  method barD([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<self::C::E*>(this, let final dynamic #t4 = cmp in #t4.==(null) ? #C2 : #t4);
-  }
-  method barE([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, cmp.==(null) ? #C2 : cmp);
-  }
-  method barF([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, !cmp.==(null) ? cmp : #C2);
-  }
-  static method _default(dynamic a, dynamic b) → core::int* {
-    return 1.unary-();
-  }
-}
-static method foo<E extends core::Object* = dynamic>(self::C<self::foo::E*>* c, (self::foo::E*, self::foo::E*) →* core::int* cmp) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = tearoff self::C::_default
-}
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug30624.dart.legacy.transformed.expect
deleted file mode 100644
index 5b40273..0000000
--- a/pkg/front_end/testcases/inference/bug30624.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::E*>*
-    : super core::Object::•()
-    ;
-  method barA([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, let final dynamic #t1 = cmp in #t1.==(null) ? #C2 : #t1);
-  }
-  method barB([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, let final dynamic #t2 = cmp in #t2.==(null) ? (#C2) as (self::C::E*, self::C::E*) →* core::int* : #t2);
-  }
-  method barC([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    (self::C::E*, self::C::E*) →* core::int* v = #C2;
-    self::foo<dynamic>(this, let final dynamic #t3 = cmp in #t3.==(null) ? v : #t3);
-  }
-  method barD([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<self::C::E*>(this, let final dynamic #t4 = cmp in #t4.==(null) ? #C2 : #t4);
-  }
-  method barE([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, cmp.==(null) ? #C2 : cmp);
-  }
-  method barF([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
-    self::foo<dynamic>(this, !cmp.==(null) ? cmp : #C2);
-  }
-  static method _default(dynamic a, dynamic b) → core::int* {
-    return 1.unary-();
-  }
-}
-static method foo<E extends core::Object* = dynamic>(self::C<self::foo::E*>* c, (self::foo::E*, self::foo::E*) →* core::int* cmp) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = tearoff self::C::_default
-}
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.legacy.expect b/pkg/front_end/testcases/inference/bug31132.dart.legacy.expect
deleted file mode 100644
index a8c4992..0000000
--- a/pkg/front_end/testcases/inference/bug31132.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B {
-  field dynamic z = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method test(self::B* x) → void {
-  dynamic y = x is self::C* ? x : new self::C::•();
-  core::print(y.z);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug31132.dart.legacy.transformed.expect
deleted file mode 100644
index a8c4992..0000000
--- a/pkg/front_end/testcases/inference/bug31132.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B {
-  field dynamic z = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method test(self::B* x) → void {
-  dynamic y = x is self::C* ? x : new self::C::•();
-  core::print(y.z);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.legacy.expect b/pkg/front_end/testcases/inference/bug31133.dart.legacy.expect
deleted file mode 100644
index b2a0cef..0000000
--- a/pkg/front_end/testcases/inference/bug31133.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void {
-  dynamic i = 0;
-  for (final dynamic #t1 = i = i.+(1); i.<(10); i = i.+(1)) {
-  }
-  for (final dynamic #t2 = i = i.+(1); i.<(10); i = i.+(1)) {
-  }
-  for (final dynamic #t3 = i = i.-(1); i.>=(0); i = i.-(1)) {
-  }
-  for (final dynamic #t4 = i = i.-(1); i.>=(0); i = i.-(1)) {
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug31133.dart.legacy.transformed.expect
deleted file mode 100644
index b2a0cef..0000000
--- a/pkg/front_end/testcases/inference/bug31133.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void {
-  dynamic i = 0;
-  for (final dynamic #t1 = i = i.+(1); i.<(10); i = i.+(1)) {
-  }
-  for (final dynamic #t2 = i = i.+(1); i.<(10); i = i.+(1)) {
-  }
-  for (final dynamic #t3 = i = i.-(1); i.>=(0); i = i.-(1)) {
-  }
-  for (final dynamic #t4 = i = i.-(1); i.>=(0); i = i.-(1)) {
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.legacy.expect b/pkg/front_end/testcases/inference/bug31436.dart.legacy.expect
deleted file mode 100644
index 836528e..0000000
--- a/pkg/front_end/testcases/inference/bug31436.dart.legacy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method block_test() → void {
-  () →* core::List<core::Object*>* g;
-  g = () → dynamic {
-    return <dynamic>[3];
-  };
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  g.call().add("hello");
-  core::List<core::int*>* l = <dynamic>[3];
-  g = () → dynamic {
-    return l;
-  };
-  assert(g is () →* core::List<core::Object*>*);
-  assert(g is () →* core::List<core::int*>*);
-  try {
-    g.call().add("hello");
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  core::Object* o = l;
-  g = () → dynamic {
-    return o;
-  };
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  assert(!(g is () →* core::Object*));
-  g.call();
-  o = 3;
-  try {
-    g.call();
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method arrow_test() → void {
-  () →* core::List<core::Object*>* g;
-  g = () → dynamic => <dynamic>[3];
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  g.call().add("hello");
-  core::List<core::int*>* l = <dynamic>[3];
-  g = () → dynamic => l;
-  assert(g is () →* core::List<core::Object*>*);
-  assert(g is () →* core::List<core::int*>*);
-  try {
-    g.call().add("hello");
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  core::Object* o = l;
-  g = () → dynamic => o;
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  assert(!(g is () →* core::Object*));
-  g.call();
-  o = 3;
-  try {
-    g.call();
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  self::block_test();
-  self::arrow_test();
-}
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug31436.dart.legacy.transformed.expect
deleted file mode 100644
index 836528e..0000000
--- a/pkg/front_end/testcases/inference/bug31436.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method block_test() → void {
-  () →* core::List<core::Object*>* g;
-  g = () → dynamic {
-    return <dynamic>[3];
-  };
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  g.call().add("hello");
-  core::List<core::int*>* l = <dynamic>[3];
-  g = () → dynamic {
-    return l;
-  };
-  assert(g is () →* core::List<core::Object*>*);
-  assert(g is () →* core::List<core::int*>*);
-  try {
-    g.call().add("hello");
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  core::Object* o = l;
-  g = () → dynamic {
-    return o;
-  };
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  assert(!(g is () →* core::Object*));
-  g.call();
-  o = 3;
-  try {
-    g.call();
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method arrow_test() → void {
-  () →* core::List<core::Object*>* g;
-  g = () → dynamic => <dynamic>[3];
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  g.call().add("hello");
-  core::List<core::int*>* l = <dynamic>[3];
-  g = () → dynamic => l;
-  assert(g is () →* core::List<core::Object*>*);
-  assert(g is () →* core::List<core::int*>*);
-  try {
-    g.call().add("hello");
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  core::Object* o = l;
-  g = () → dynamic => o;
-  assert(g is () →* core::List<core::Object*>*);
-  assert(!(g is () →* core::List<core::int*>*));
-  assert(!(g is () →* core::Object*));
-  g.call();
-  o = 3;
-  try {
-    g.call();
-    throw "expected a runtime error";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  self::block_test();
-  self::arrow_test();
-}
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.legacy.expect b/pkg/front_end/testcases/inference/bug32291.dart.legacy.expect
deleted file mode 100644
index f2dc0b2..0000000
--- a/pkg/front_end/testcases/inference/bug32291.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  dynamic l = <dynamic>[<dynamic>["hi", "world"]];
-  dynamic i1 = l.map((dynamic ll) → dynamic => let final dynamic #t1 = ll in #t1.==(null) ? <dynamic>[] : #t1);
-  dynamic i2 = i1.map((core::List<core::String> l) → dynamic => l.length);
-  core::print(i2);
-}
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug32291.dart.legacy.transformed.expect
deleted file mode 100644
index f2dc0b2..0000000
--- a/pkg/front_end/testcases/inference/bug32291.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  dynamic l = <dynamic>[<dynamic>["hi", "world"]];
-  dynamic i1 = l.map((dynamic ll) → dynamic => let final dynamic #t1 = ll in #t1.==(null) ? <dynamic>[] : #t1);
-  dynamic i2 = i1.map((core::List<core::String> l) → dynamic => l.length);
-  core::print(i2);
-}
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.legacy.expect b/pkg/front_end/testcases/inference/bug33324.dart.legacy.expect
deleted file mode 100644
index 7ebbee7..0000000
--- a/pkg/front_end/testcases/inference/bug33324.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method foo() → core::int* {
-  core::Function* f = (dynamic x) → dynamic => x;
-  dynamic l = <dynamic>["bar"].map(f).toList();
-  l.add(42);
-  return l.first.length;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/bug33324.dart.legacy.transformed.expect
deleted file mode 100644
index 7ebbee7..0000000
--- a/pkg/front_end/testcases/inference/bug33324.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method foo() → core::int* {
-  core::Function* f = (dynamic x) → dynamic => x;
-  dynamic l = <dynamic>["bar"].map(f).toList();
-  l.add(42);
-  return l.first.length;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.legacy.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.legacy.expect
deleted file mode 100644
index 95b8a8a..0000000
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call() → core::int*
-    return 0;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get call() → self::A*
-    return new self::A::•();
-}
-class D extends core::Object {
-  field self::A* fieldA = new self::A::•();
-  field self::B* fieldB = new self::B::•();
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  get getA() → self::A*
-    return new self::A::•();
-  get getB() → self::B*
-    return new self::B::•();
-}
-static method test() → dynamic {
-  dynamic callA = new self::A::•().call();
-  dynamic callFieldA = new self::D::•().fieldA();
-  dynamic callGetA = new self::D::•().getA();
-  dynamic callFieldB = new self::D::•().fieldB();
-  dynamic callGetB = new self::D::•().getB();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.legacy.transformed.expect
deleted file mode 100644
index 95b8a8a..0000000
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method call() → core::int*
-    return 0;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get call() → self::A*
-    return new self::A::•();
-}
-class D extends core::Object {
-  field self::A* fieldA = new self::A::•();
-  field self::B* fieldB = new self::B::•();
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  get getA() → self::A*
-    return new self::A::•();
-  get getB() → self::B*
-    return new self::B::•();
-}
-static method test() → dynamic {
-  dynamic callA = new self::A::•().call();
-  dynamic callFieldA = new self::D::•().fieldA();
-  dynamic callGetA = new self::D::•().getA();
-  dynamic callFieldB = new self::D::•().fieldB();
-  dynamic callGetB = new self::D::•().getB();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.legacy.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.legacy.expect
deleted file mode 100644
index 5860845..0000000
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class ActionDispatcher<P extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::ActionDispatcher<self::ActionDispatcher::P*>*
-    : super core::Object::•()
-    ;
-  method call([generic-covariant-impl self::ActionDispatcher::P* value = #C1]) → void {}
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-class FooActions extends core::Object {
-  synthetic constructor •() → self::FooActions*
-    : super core::Object::•()
-    ;
-  get foo() → self::ActionDispatcher<self::Bar*>*
-    return new self::ActionDispatcher::•<self::Bar*>();
-}
-static method main() → void {
-  new self::FooActions::•().foo(new self::Bar::•());
-  new self::FooActions::•().foo.call(new self::Bar::•());
-  new self::FooActions::•().foo.call(new self::Bar::•());
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.legacy.transformed.expect
deleted file mode 100644
index 5860845..0000000
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class ActionDispatcher<P extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::ActionDispatcher<self::ActionDispatcher::P*>*
-    : super core::Object::•()
-    ;
-  method call([generic-covariant-impl self::ActionDispatcher::P* value = #C1]) → void {}
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-class FooActions extends core::Object {
-  synthetic constructor •() → self::FooActions*
-    : super core::Object::•()
-    ;
-  get foo() → self::ActionDispatcher<self::Bar*>*
-    return new self::ActionDispatcher::•<self::Bar*>();
-}
-static method main() → void {
-  new self::FooActions::•().foo(new self::Bar::•());
-  new self::FooActions::•().foo.call(new self::Bar::•());
-  new self::FooActions::•().foo.call(new self::Bar::•());
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.legacy.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.legacy.expect
deleted file mode 100644
index 2e54f4d..0000000
--- a/pkg/front_end/testcases/inference/circular_method_inference.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/circular_method_inference.dart:12:16: Error: 'A' is a supertype of itself.
-// abstract class A extends B {
-//                ^
-//
-// pkg/front_end/testcases/inference/circular_method_inference.dart:16:16: Error: 'B' is a supertype of itself.
-// abstract class B extends A {
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract method f(dynamic x) → dynamic;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method f(dynamic x) → dynamic;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 2e54f4d..0000000
--- a/pkg/front_end/testcases/inference/circular_method_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/circular_method_inference.dart:12:16: Error: 'A' is a supertype of itself.
-// abstract class A extends B {
-//                ^
-//
-// pkg/front_end/testcases/inference/circular_method_inference.dart:16:16: Error: 'B' is a supertype of itself.
-// abstract class B extends A {
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract method f(dynamic x) → dynamic;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method f(dynamic x) → dynamic;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.legacy.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.legacy.expect
deleted file mode 100644
index fd3ef5e..0000000
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = () → dynamic => self::y;
-static field dynamic y = () → dynamic => self::x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.legacy.transformed.expect
deleted file mode 100644
index fd3ef5e..0000000
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = () → dynamic => self::y;
-static field dynamic y = () → dynamic => self::x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.legacy.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.legacy.expect
deleted file mode 100644
index fd3ef5e..0000000
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = () → dynamic => self::y;
-static field dynamic y = () → dynamic => self::x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.legacy.transformed.expect
deleted file mode 100644
index fd3ef5e..0000000
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = () → dynamic => self::y;
-static field dynamic y = () → dynamic => self::x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.legacy.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.legacy.expect
deleted file mode 100644
index 2ed9055..0000000
--- a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  (core::Null*) →* core::int* f = (dynamic x) → dynamic => 1;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.legacy.transformed.expect
deleted file mode 100644
index 2ed9055..0000000
--- a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  (core::Null*) →* core::int* f = (dynamic x) → dynamic => 1;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.legacy.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.legacy.expect
deleted file mode 100644
index a77c338..0000000
--- a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-
-static method f() → dynamic {
-  dynamic a = 0;
-  dynamic b = null;
-  dynamic c = throw "foo";
-  dynamic d = () → dynamic => 0;
-  dynamic e = () → dynamic => null;
-  dynamic f = () → dynamic => throw "foo";
-  dynamic g = () → dynamic {
-    return 0;
-  };
-  dynamic h = () → dynamic {
-    return null;
-  };
-  dynamic i = () → dynamic {
-    return throw "foo";
-  };
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.legacy.transformed.expect
deleted file mode 100644
index a77c338..0000000
--- a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-
-static method f() → dynamic {
-  dynamic a = 0;
-  dynamic b = null;
-  dynamic c = throw "foo";
-  dynamic d = () → dynamic => 0;
-  dynamic e = () → dynamic => null;
-  dynamic f = () → dynamic => throw "foo";
-  dynamic g = () → dynamic {
-    return 0;
-  };
-  dynamic h = () → dynamic {
-    return null;
-  };
-  dynamic i = () → dynamic {
-    return throw "foo";
-  };
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.legacy.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.legacy.expect
deleted file mode 100644
index 482fc82..0000000
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic foo = <dynamic>[1, 2, 3];
-  core::print(let final dynamic #t1 = foo in let final dynamic #t2 = 0 in let final dynamic #t3 = #t1.[](#t2).-(1) in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3);
-}
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.legacy.transformed.expect
deleted file mode 100644
index 482fc82..0000000
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic foo = <dynamic>[1, 2, 3];
-  core::print(let final dynamic #t1 = foo in let final dynamic #t2 = 0 in let final dynamic #t3 = #t1.[](#t2).-(1) in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3);
-}
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.legacy.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.legacy.expect
deleted file mode 100644
index 6c395be..0000000
--- a/pkg/front_end/testcases/inference/conditional_lub.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::bool* b = true;
-static field core::int* x = 0;
-static field core::double* y = 0.0;
-static field dynamic z = self::b ? self::x : self::y;
-static method main() → dynamic {
-  dynamic z = self::b ? self::x : self::y;
-}
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.legacy.transformed.expect
deleted file mode 100644
index 6c395be..0000000
--- a/pkg/front_end/testcases/inference/conditional_lub.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::bool* b = true;
-static field core::int* x = 0;
-static field core::double* y = 0.0;
-static field dynamic z = self::b ? self::x : self::y;
-static method main() → dynamic {
-  dynamic z = self::b ? self::x : self::y;
-}
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.legacy.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.legacy.expect
deleted file mode 100644
index 5f57472..0000000
--- a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::List<self::C::T*>* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::bool* b = false;
-  core::List<core::int*>* l1 = <dynamic>[1];
-  core::List<core::int*>* l2 = <dynamic>[2];
-  dynamic x = new self::C::•<dynamic>(l1);
-  dynamic y = new self::C::•<dynamic>(l2);
-  dynamic z = new self::C::•<dynamic>(b ? l1 : l2);
-}
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 5f57472..0000000
--- a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::List<self::C::T*>* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::bool* b = false;
-  core::List<core::int*>* l1 = <dynamic>[1];
-  core::List<core::int*>* l2 = <dynamic>[2];
-  dynamic x = new self::C::•<dynamic>(l1);
-  dynamic y = new self::C::•<dynamic>(l2);
-  dynamic z = new self::C::•<dynamic>(b ? l1 : l2);
-}
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect
deleted file mode 100644
index 612b7ef..0000000
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:20:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   set field1(value) {}
-//              ^^^^^
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:21:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   set field2(value) {}
-//              ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field1 = null;
-  field core::int* field2 = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class I extends core::Object {
-  field core::int* field1 = null;
-  field dynamic field2 = null;
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get field1() → core::int*
-    return null;
-  get field2() → core::int*
-    return null;
-  set field1(invalid-type value) → void {}
-  set field2(invalid-type value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect
deleted file mode 100644
index 612b7ef..0000000
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:20:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   set field1(value) {}
-//              ^^^^^
-//
-// pkg/front_end/testcases/inference/conflicting_fields.dart:21:14: Error: Can't infer a type for 'value' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   set field2(value) {}
-//              ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field1 = null;
-  field core::int* field2 = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class I extends core::Object {
-  field core::int* field1 = null;
-  field dynamic field2 = null;
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get field1() → core::int*
-    return null;
-  get field2() → core::int*
-    return null;
-  set field1(invalid-type value) → void {}
-  set field2(invalid-type value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect
deleted file mode 100644
index f362386..0000000
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   get a => null;
-//       ^
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   get a => null;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class I1 extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-}
-class I2 extends self::I1 {
-  field core::int* y = null;
-  synthetic constructor •() → self::I2*
-    : super self::I1::•()
-    ;
-}
-class A extends core::Object {
-  final field self::I1* a = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  final field self::I2* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C1 extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C1*
-    : super core::Object::•()
-    ;
-  get a() → invalid-type
-    return null;
-}
-class C2 extends core::Object implements self::B, self::A {
-  synthetic constructor •() → self::C2*
-    : super core::Object::•()
-    ;
-  get a() → invalid-type
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect
deleted file mode 100644
index f362386..0000000
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:25:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   get a => null;
-//       ^
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen.dart:30:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   get a => null;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class I1 extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-}
-class I2 extends self::I1 {
-  field core::int* y = null;
-  synthetic constructor •() → self::I2*
-    : super self::I1::•()
-    ;
-}
-class A extends core::Object {
-  final field self::I1* a = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  final field self::I2* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C1 extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C1*
-    : super core::Object::•()
-    ;
-  get a() → invalid-type
-    return null;
-}
-class C2 extends core::Object implements self::B, self::A {
-  synthetic constructor •() → self::C2*
-    : super core::Object::•()
-    ;
-  get a() → invalid-type
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect
deleted file mode 100644
index 5ca29a6..0000000
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   get a => null;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class I1 extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-}
-class I2 extends core::Object {
-  field core::int* y = null;
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-}
-class I3 extends core::Object implements self::I1, self::I2 {
-  field core::int* x = null;
-  field core::int* y = null;
-  synthetic constructor •() → self::I3*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  final field self::I1* a = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  final field self::I2* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C1 extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C1*
-    : super core::Object::•()
-    ;
-  get a() → self::I3*
-    return null;
-}
-class C2 extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C2*
-    : super core::Object::•()
-    ;
-  get a() → invalid-type
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect
deleted file mode 100644
index 5ca29a6..0000000
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/conflicts_can_happen2.dart:34:7: Error: Can't infer a return type for 'a' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   get a => null;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class I1 extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-}
-class I2 extends core::Object {
-  field core::int* y = null;
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-}
-class I3 extends core::Object implements self::I1, self::I2 {
-  field core::int* x = null;
-  field core::int* y = null;
-  synthetic constructor •() → self::I3*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  final field self::I1* a = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  final field self::I2* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C1 extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C1*
-    : super core::Object::•()
-    ;
-  get a() → self::I3*
-    return null;
-}
-class C2 extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C2*
-    : super core::Object::•()
-    ;
-  get a() → invalid-type
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.legacy.expect
deleted file mode 100644
index f2eb980..0000000
--- a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class Foo<T extends self::A* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  self::Foo<self::B*>* foo = new self::Foo::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.legacy.transformed.expect
deleted file mode 100644
index f2eb980..0000000
--- a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class Foo<T extends self::A* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  self::Foo<self::B*>* foo = new self::Foo::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.legacy.expect
deleted file mode 100644
index d6f2973..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t;
-  constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-}
-static method test() → dynamic {
-  dynamic x = new self::C::•<dynamic>(42);
-  core::num* y;
-  self::C<core::int*>* c_int = new self::C::•<dynamic>(y);
-  self::C<core::num*>* c_num = new self::C::•<dynamic>(123);
-  self::C<core::num*>* c_num2 = let final dynamic #t1 = new self::C::•<dynamic>(456) in let final dynamic #t2 = #t1.t = 1.0 in #t1;
-  dynamic c_dynamic = new self::C::•<dynamic>(42);
-  x.t = "hello";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.legacy.transformed.expect
deleted file mode 100644
index d6f2973..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t;
-  constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-}
-static method test() → dynamic {
-  dynamic x = new self::C::•<dynamic>(42);
-  core::num* y;
-  self::C<core::int*>* c_int = new self::C::•<dynamic>(y);
-  self::C<core::num*>* c_num = new self::C::•<dynamic>(123);
-  self::C<core::num*>* c_num2 = let final dynamic #t1 = new self::C::•<dynamic>(456) in let final dynamic #t2 = #t1.t = 1.0 in #t1;
-  dynamic c_dynamic = new self::C::•<dynamic>(42);
-  x.t = "hello";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.legacy.expect
deleted file mode 100644
index e80bce8..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = () →* T*;
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class C<T extends self::A* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* f) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class NotA extends core::Object {
-  synthetic constructor •() → self::NotA*
-    : super core::Object::•()
-    ;
-}
-static method myF() → self::NotA*
-  return null;
-static method main() → dynamic {
-  dynamic x = new self::C::•<dynamic>(#C1);
-}
-
-constants  {
-  #C1 = tearoff self::myF
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.legacy.transformed.expect
deleted file mode 100644
index e80bce8..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = () →* T*;
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class C<T extends self::A* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* f) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class NotA extends core::Object {
-  synthetic constructor •() → self::NotA*
-    : super core::Object::•()
-    ;
-}
-static method myF() → self::NotA*
-  return null;
-static method main() → dynamic {
-  dynamic x = new self::C::•<dynamic>(#C1);
-}
-
-constants  {
-  #C1 = tearoff self::myF
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.legacy.expect
deleted file mode 100644
index 958af1b..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  final field self::C::T* t;
-  const constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = #C2;
-}
-
-constants  {
-  #C1 = 42
-  #C2 = self::C<dynamic> {t:#C1}
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.legacy.transformed.expect
deleted file mode 100644
index 958af1b..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  final field self::C::T* t;
-  const constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = #C2;
-}
-
-constants  {
-  #C1 = 42
-  #C2 = self::C<dynamic> {t:#C1}
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.legacy.expect
deleted file mode 100644
index 25da833..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  final field self::C::T* x;
-  const constructor •(self::C::T* x) → self::C<self::C::T*>*
-    : self::C::x = x, super core::Object::•()
-    ;
-}
-class D<T extends core::num* = dynamic> extends core::Object {
-  const constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  self::C<core::int*>* c2 = #C2;
-}
-
-constants  {
-  #C1 = 0
-  #C2 = self::C<dynamic> {x:#C1}
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 25da833..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  final field self::C::T* x;
-  const constructor •(self::C::T* x) → self::C<self::C::T*>*
-    : self::C::x = x, super core::Object::•()
-    ;
-}
-class D<T extends core::num* = dynamic> extends core::Object {
-  const constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  self::C<core::int*>* c2 = #C2;
-}
-
-constants  {
-  #C1 = 0
-  #C2 = self::C<dynamic> {x:#C1}
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.legacy.expect
deleted file mode 100644
index c41dcd8..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::List<self::C::T*>* list) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::•<dynamic>(<dynamic>[123]);
-  self::C<core::int*>* y = x;
-  dynamic a = new self::C::•<dynamic>(<dynamic>[123]);
-  dynamic b = new self::C::•<core::Object*>(<dynamic>[123]);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.legacy.transformed.expect
deleted file mode 100644
index c41dcd8..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::List<self::C::T*>* list) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::•<dynamic>(<dynamic>[123]);
-  self::C<core::int*>* y = x;
-  dynamic a = new self::C::•<dynamic>(<dynamic>[123]);
-  dynamic b = new self::C::•<core::Object*>(<dynamic>[123]);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.legacy.expect
deleted file mode 100644
index fcb8d4e..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t = null;
-  constructor _() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>(self::C::•::T* t) → self::C<self::C::•::T*>* {
-    dynamic x = new self::C::_<self::C::•::T*>();
-    x.t = t;
-    return x;
-  }
-}
-static method test() → dynamic {
-  dynamic x = self::C::•<dynamic>(42);
-  x.t = "hello";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.legacy.transformed.expect
deleted file mode 100644
index fcb8d4e..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t = null;
-  constructor _() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>(self::C::•::T* t) → self::C<self::C::•::T*>* {
-    dynamic x = new self::C::_<self::C::•::T*>();
-    x.t = t;
-    return x;
-  }
-}
-static method test() → dynamic {
-  dynamic x = self::C::•<dynamic>(42);
-  x.t = "hello";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.legacy.expect
deleted file mode 100644
index 3b5c18d..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::A<self::A::T*>* f = new self::A::•<dynamic>();
-  constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  static factory factory<T extends core::Object* = dynamic>() → self::A<self::A::factory::T*>*
-    return new self::A::•<dynamic>();
-  method m() → self::A<self::A::T*>*
-    return new self::A::•<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.legacy.transformed.expect
deleted file mode 100644
index 3b5c18d..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::A<self::A::T*>* f = new self::A::•<dynamic>();
-  constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  static factory factory<T extends core::Object* = dynamic>() → self::A<self::A::factory::T*>*
-    return new self::A::•<dynamic>();
-  method m() → self::A<self::A::T*>*
-    return new self::A::•<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.legacy.expect
deleted file mode 100644
index af0e3c5..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t = null;
-  constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::named<dynamic>(<core::int*>[]);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.legacy.transformed.expect
deleted file mode 100644
index af0e3c5..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t = null;
-  constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::named<dynamic>(<core::int*>[]);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.legacy.expect
deleted file mode 100644
index 39f3419..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t = null;
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static factory named<T extends core::Object* = dynamic>(self::C::named::T* t) → self::C<self::C::named::T*>* {
-    dynamic x = new self::C::•<self::C::named::T*>();
-    x.t = t;
-    return x;
-  }
-}
-static method main() → dynamic {
-  dynamic x = self::C::named<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.legacy.transformed.expect
deleted file mode 100644
index 39f3419..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t = null;
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static factory named<T extends core::Object* = dynamic>(self::C::named::T* t) → self::C<self::C::named::T*>* {
-    dynamic x = new self::C::•<self::C::named::T*>();
-    x.t = t;
-    return x;
-  }
-}
-static method main() → dynamic {
-  dynamic x = self::C::named<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.legacy.expect
deleted file mode 100644
index fb4ae7c..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t;
-  constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-  constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
-    : this self::C::•(t.[](0))
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::named<dynamic>(<core::int*>[42]);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.legacy.transformed.expect
deleted file mode 100644
index fb4ae7c..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t;
-  constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-  constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
-    : this self::C::•(t.[](0))
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::named<dynamic>(<core::int*>[42]);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.legacy.expect
deleted file mode 100644
index efe6fb4..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::•];
-  abstract get t() → self::C::T*;
-  abstract set t(generic-covariant-impl self::C::T* x) → void;
-  static factory •<T extends core::Object* = dynamic>(self::C::•::T* t) → self::C<self::C::•::T*>*
-    let dynamic #redirecting_factory = self::CImpl::• in let self::C::•::T* #typeArg0 = null in invalid-expression;
-}
-class CImpl<T extends core::Object* = dynamic> extends core::Object implements self::C<self::CImpl::T*> {
-  generic-covariant-impl field self::CImpl::T* t;
-  constructor •(self::CImpl::T* t) → self::CImpl<self::CImpl::T*>*
-    : self::CImpl::t = t, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::CImpl::•<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.legacy.transformed.expect
deleted file mode 100644
index efe6fb4..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::•];
-  abstract get t() → self::C::T*;
-  abstract set t(generic-covariant-impl self::C::T* x) → void;
-  static factory •<T extends core::Object* = dynamic>(self::C::•::T* t) → self::C<self::C::•::T*>*
-    let dynamic #redirecting_factory = self::CImpl::• in let self::C::•::T* #typeArg0 = null in invalid-expression;
-}
-class CImpl<T extends core::Object* = dynamic> extends core::Object implements self::C<self::CImpl::T*> {
-  generic-covariant-impl field self::CImpl::T* t;
-  constructor •(self::CImpl::T* t) → self::CImpl<self::CImpl::T*>*
-    : self::CImpl::t = t, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::CImpl::•<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.legacy.expect
deleted file mode 100644
index ea1366b..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::•];
-  abstract get t() → self::C::T*;
-  abstract set t(generic-covariant-impl self::C::T* x) → void;
-  static factory •<T extends core::Object* = dynamic>(self::C::•::T* t) → self::C<self::C::•::T*>*
-    let dynamic #redirecting_factory = self::CImpl::• in let self::C::•::T* #typeArg0 = null in invalid-expression;
-}
-class CImpl<T extends core::Object* = dynamic> extends core::Object implements self::C<self::CImpl::T*> {
-  generic-covariant-impl field self::CImpl::T* t;
-  constructor _(self::CImpl::T* t) → self::CImpl<self::CImpl::T*>*
-    : self::CImpl::t = t, super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>(self::CImpl::•::T* t) → self::CImpl<self::CImpl::•::T*>*
-    return new self::CImpl::_<dynamic>(t);
-}
-static method main() → dynamic {
-  dynamic x = self::CImpl::•<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.legacy.transformed.expect
deleted file mode 100644
index ea1366b..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::•];
-  abstract get t() → self::C::T*;
-  abstract set t(generic-covariant-impl self::C::T* x) → void;
-  static factory •<T extends core::Object* = dynamic>(self::C::•::T* t) → self::C<self::C::•::T*>*
-    let dynamic #redirecting_factory = self::CImpl::• in let self::C::•::T* #typeArg0 = null in invalid-expression;
-}
-class CImpl<T extends core::Object* = dynamic> extends core::Object implements self::C<self::CImpl::T*> {
-  generic-covariant-impl field self::CImpl::T* t;
-  constructor _(self::CImpl::T* t) → self::CImpl<self::CImpl::T*>*
-    : self::CImpl::t = t, super core::Object::•()
-    ;
-  static factory •<T extends core::Object* = dynamic>(self::CImpl::•::T* t) → self::CImpl<self::CImpl::•::T*>*
-    return new self::CImpl::_<dynamic>(t);
-}
-static method main() → dynamic {
-  dynamic x = self::CImpl::•<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.legacy.expect
deleted file mode 100644
index 4e7c5e3..0000000
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Cloneable<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cloneable<self::Cloneable::T*>*
-    : super core::Object::•()
-    ;
-}
-class Pair<T extends self::Cloneable<self::Pair::T>* = dynamic, U extends self::Cloneable<self::Pair::U>* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Pair::T* t;
-  generic-covariant-impl field self::Pair::U* u;
-  constructor •(self::Pair::T* t, self::Pair::U* u) → self::Pair<self::Pair::T*, self::Pair::U*>*
-    : self::Pair::t = t, self::Pair::u = u, super core::Object::•()
-    ;
-  constructor _() → self::Pair<self::Pair::T*, self::Pair::U*>*
-    : self::Pair::u = null, self::Pair::t = null, super core::Object::•()
-    ;
-  get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
-    return new self::Pair::•<dynamic, dynamic>(this.{self::Pair::u}, this.{self::Pair::t});
-}
-static method main() → dynamic {
-  final dynamic x = new self::Pair::_<dynamic, dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.legacy.transformed.expect
deleted file mode 100644
index 4e7c5e3..0000000
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Cloneable<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cloneable<self::Cloneable::T*>*
-    : super core::Object::•()
-    ;
-}
-class Pair<T extends self::Cloneable<self::Pair::T>* = dynamic, U extends self::Cloneable<self::Pair::U>* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Pair::T* t;
-  generic-covariant-impl field self::Pair::U* u;
-  constructor •(self::Pair::T* t, self::Pair::U* u) → self::Pair<self::Pair::T*, self::Pair::U*>*
-    : self::Pair::t = t, self::Pair::u = u, super core::Object::•()
-    ;
-  constructor _() → self::Pair<self::Pair::T*, self::Pair::U*>*
-    : self::Pair::u = null, self::Pair::t = null, super core::Object::•()
-    ;
-  get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
-    return new self::Pair::•<dynamic, dynamic>(this.{self::Pair::u}, this.{self::Pair::t});
-}
-static method main() → dynamic {
-  final dynamic x = new self::Pair::_<dynamic, dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.legacy.expect
deleted file mode 100644
index 4cc018c..0000000
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Pair<T extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Pair::T* t;
-  generic-covariant-impl field self::Pair::U* u;
-  constructor •(self::Pair::T* t, self::Pair::U* u) → self::Pair<self::Pair::T*, self::Pair::U*>*
-    : self::Pair::t = t, self::Pair::u = u, super core::Object::•()
-    ;
-  get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
-    return new self::Pair::•<dynamic, dynamic>(this.{self::Pair::u}, this.{self::Pair::t});
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.legacy.transformed.expect
deleted file mode 100644
index 4cc018c..0000000
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Pair<T extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::Pair::T* t;
-  generic-covariant-impl field self::Pair::U* u;
-  constructor •(self::Pair::T* t, self::Pair::U* u) → self::Pair<self::Pair::T*, self::Pair::U*>*
-    : self::Pair::t = t, self::Pair::u = u, super core::Object::•()
-    ;
-  get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
-    return new self::Pair::•<dynamic, dynamic>(this.{self::Pair::u}, this.{self::Pair::t});
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.legacy.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.legacy.expect
deleted file mode 100644
index 7ac981c..0000000
--- a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#, 32, null, <dynamic>[42].toList(growable: false), <dynamic, dynamic>{}));
-}
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.legacy.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.legacy.expect
deleted file mode 100644
index 47da0bb..0000000
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.legacy.transformed.expect
deleted file mode 100644
index 47da0bb..0000000
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.legacy.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.legacy.expect
deleted file mode 100644
index b9b027c..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic x = null;
-  static field dynamic y = 3;
-  field dynamic x2 = null;
-  field dynamic y2 = 3;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = null;
-static field dynamic y = 3;
-static method main() → dynamic {
-  self::x;
-  self::y;
-}
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.legacy.transformed.expect
deleted file mode 100644
index b9b027c..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic x = null;
-  static field dynamic y = 3;
-  field dynamic x2 = null;
-  field dynamic y2 = 3;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = null;
-static field dynamic y = 3;
-static method main() → dynamic {
-  self::x;
-  self::y;
-}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.legacy.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.legacy.expect
deleted file mode 100644
index 6fc489d..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic {
-  dynamic x = 3;
-  x = "hi";
-}
-static method main() → dynamic {
-  self::test();
-}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.legacy.transformed.expect
deleted file mode 100644
index 6fc489d..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic {
-  dynamic x = 3;
-  x = "hi";
-}
-static method main() → dynamic {
-  self::test();
-}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.legacy.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.legacy.expect
deleted file mode 100644
index 7dd89fd..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic {
-  dynamic x = null;
-  x = "hi";
-  x = 3;
-}
-static method main() → dynamic {
-  self::test();
-}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.legacy.transformed.expect
deleted file mode 100644
index 7dd89fd..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic {
-  dynamic x = null;
-  x = "hi";
-  x = 3;
-}
-static method main() → dynamic {
-  self::test();
-}
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.legacy.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.legacy.expect
deleted file mode 100644
index ad47d30..0000000
--- a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-import "dart:math";
-
-static method f() → dynamic {
-  core::num* x;
-  dynamic y;
-  core::num* a = math::max<dynamic>(x, y);
-  core::Object* b = math::max<dynamic>(x, y);
-  dynamic c = math::max<dynamic>(x, y);
-  dynamic d = math::max<dynamic>(x, y);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.legacy.transformed.expect
deleted file mode 100644
index ad47d30..0000000
--- a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-import "dart:math";
-
-static method f() → dynamic {
-  core::num* x;
-  dynamic y;
-  core::num* a = math::max<dynamic>(x, y);
-  core::Object* b = math::max<dynamic>(x, y);
-  dynamic c = math::max<dynamic>(x, y);
-  dynamic d = math::max<dynamic>(x, y);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.legacy.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.legacy.expect
deleted file mode 100644
index f8dcee7..0000000
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Function2<S extends core::Object = dynamic, T extends core::Object = dynamic> = (S) → T;
-class A<T extends core::Object = dynamic> extends core::Object {
-  field (self::A::T) → self::A::T x;
-  constructor •((self::A::T) → self::A::T x) → void
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-static method main() → void {
-  {
-    dynamic x = "hello";
-    dynamic y = 3;
-    function f(core::List<core::Map<core::int, core::String>> l) → void {}
-    ;
-    f.call(<dynamic>[<dynamic, dynamic>{y: x}]);
-  }
-  {
-    function f(core::int x) → core::int
-      return 0;
-    self::A<core::int> a = new self::A::•<dynamic>(f);
-  }
-}
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.legacy.transformed.expect
deleted file mode 100644
index f8dcee7..0000000
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Function2<S extends core::Object = dynamic, T extends core::Object = dynamic> = (S) → T;
-class A<T extends core::Object = dynamic> extends core::Object {
-  field (self::A::T) → self::A::T x;
-  constructor •((self::A::T) → self::A::T x) → void
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-static method main() → void {
-  {
-    dynamic x = "hello";
-    dynamic y = 3;
-    function f(core::List<core::Map<core::int, core::String>> l) → void {}
-    ;
-    f.call(<dynamic>[<dynamic, dynamic>{y: x}]);
-  }
-  {
-    function f(core::int x) → core::int
-      return 0;
-    self::A<core::int> a = new self::A::•<dynamic>(f);
-  }
-}
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect
deleted file mode 100644
index 9dda064..0000000
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get foo() → core::Iterable<core::String*>*;
-}
-class B extends core::Object implements self::A {
-  final field core::Iterable<core::String*>* foo = #C1;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = <dynamic>[]
-}
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect
deleted file mode 100644
index 9dda064..0000000
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get foo() → core::Iterable<core::String*>*;
-}
-class B extends core::Object implements self::A {
-  final field core::Iterable<core::String*>* foo = #C1;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = <dynamic>[]
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.legacy.expect
deleted file mode 100644
index 0fda0a1..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-  const constructor named(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-@#C1
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-@#C1
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.legacy.transformed.expect
deleted file mode 100644
index 0fda0a1..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-  const constructor named(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-@#C1
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-}
-@#C1
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.legacy.expect
deleted file mode 100644
index 8a2ff24..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-abstract class Bar extends core::Object {
-  @#C1
-  field dynamic x = null;
-  @#C1
-  constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  @#C1
-  abstract method f() → void;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.legacy.transformed.expect
deleted file mode 100644
index 8a2ff24..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-abstract class Bar extends core::Object {
-  @#C1
-  field dynamic x = null;
-  @#C1
-  constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  @#C1
-  abstract method f() → void;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.legacy.expect
deleted file mode 100644
index 3efbd14..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  for (@#C1 core::int* i = 0; i.<(1); i = i.+(1)) {
-  }
-  for (@#C1 core::int* i in <dynamic>[0]) {
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.legacy.transformed.expect
deleted file mode 100644
index 3efbd14..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  for (@#C1 core::int* i = 0; i.<(1); i = i.+(1)) {
-  }
-  for (@#C1 core::int* i in <dynamic>[0]) {
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.legacy.expect
deleted file mode 100644
index dc1b168..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  throw "pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart:17:9: Error: Expected ';' before this.\n  void f() {}\n        ^";
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.legacy.expect
deleted file mode 100644
index cbdc206..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(dynamic l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  @#C1 dynamic y;
-  @#C1
-  function bar() → void {}
-  function baz(@#C1 dynamic formal) → void {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.legacy.transformed.expect
deleted file mode 100644
index cbdc206..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(dynamic l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  @#C1 dynamic y;
-  @#C1
-  function bar() → void {}
-  function baz(@#C1 dynamic formal) → void {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.legacy.expect
deleted file mode 100644
index 2b285f4..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m(@#C1 dynamic x) → void {}
-}
-static method f(@#C1 dynamic x) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.legacy.transformed.expect
deleted file mode 100644
index 2b285f4..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m(@#C1 dynamic x) → void {}
-}
-static method f(@#C1 dynamic x) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.legacy.expect
deleted file mode 100644
index e22e6e2..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  function f(@#C1 dynamic x) → void {}
-  dynamic x = (@#C1 dynamic x) → dynamic {};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.legacy.transformed.expect
deleted file mode 100644
index e22e6e2..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  function f(@#C1 dynamic x) → void {}
-  dynamic x = (@#C1 dynamic x) → dynamic {};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.legacy.expect
deleted file mode 100644
index cf4308e..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = () →* void;
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>() → void {}
-}
-static method f<T extends core::Object* = dynamic>() → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.legacy.transformed.expect
deleted file mode 100644
index cf4308e..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = () →* void;
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>() → void {}
-}
-static method f<T extends core::Object* = dynamic>() → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.legacy.expect
deleted file mode 100644
index 7689375..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  function f<@self::Foo::•(const <dynamic>[]) T extends core::Object* = dynamic>() → void {}
-  dynamic x = <@self::Foo::•(const <dynamic>[]) T extends core::Object* = dynamic>() → dynamic {};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.legacy.transformed.expect
deleted file mode 100644
index 7689375..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method test() → void {
-  function f<@self::Foo::•(const <dynamic>[]) T extends core::Object* = dynamic>() → void {}
-  dynamic x = <@self::Foo::•(const <dynamic>[]) T extends core::Object* = dynamic>() → dynamic {};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.legacy.expect
deleted file mode 100644
index 8e70fef..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-typedef F = () →* void;
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.legacy.transformed.expect
deleted file mode 100644
index 8e70fef..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-typedef F = () →* void;
-class Foo extends core::Object {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Foo {}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.legacy.expect
deleted file mode 100644
index d89517b..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::List<core::int*>* l;
-  l = <dynamic>["hello"];
-  l = l = <dynamic>[1];
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.legacy.transformed.expect
deleted file mode 100644
index d89517b..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::List<core::int*>* l;
-  l = <dynamic>["hello"];
-  l = l = <dynamic>[1];
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.legacy.expect
deleted file mode 100644
index 2b27d150..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → asy::Future<dynamic>* async {
-  dynamic d;
-  core::List<core::int*>* l0 = await<dynamic>[d];
-  core::List<core::int*>* l1 = await asy::Future::value<dynamic>(<dynamic>[d]);
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.legacy.transformed.expect
deleted file mode 100644
index 3e4e983..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → asy::Future<dynamic>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        dynamic d;
-        [yield] let dynamic #t1 = asy::_awaitHelper(<dynamic>[d], :async_op_then, :async_op_error, :async_op) in null;
-        core::List<core::int*>* l0 = :result;
-        [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<dynamic>(<dynamic>[d]), :async_op_then, :async_op_error, :async_op) in null;
-        core::List<core::int*>* l1 = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.legacy.expect
deleted file mode 100644
index 926fb1a..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.legacy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<self::MyStream::T*> {
-  static factory •<T extends core::Object* = dynamic>() → self::MyStream<self::MyStream::•::T*>*
-    return null;
-}
-static method F<T extends core::Object* = dynamic>() → self::F::T*
-  return null;
-static method f() → asy::Future<dynamic>* async {
-  dynamic d;
-  core::Object* o;
-  for (dynamic x in self::F<dynamic>()) {
-  }
-  for (dynamic x in self::F<dynamic>()) {
-  }
-  for (core::Object* x in self::F<dynamic>()) {
-  }
-  for (final dynamic #t1 in self::F<dynamic>()) {
-    d = #t1;
-  }
-  for (final dynamic #t2 in self::F<dynamic>()) {
-    o = #t2;
-  }
-  await for (dynamic x in self::F<dynamic>()) {
-  }
-  await for (dynamic x in self::F<dynamic>()) {
-  }
-  await for (core::Object* x in self::F<dynamic>()) {
-  }
-  await for (final dynamic #t3 in self::F<dynamic>()) {
-    d = #t3;
-  }
-  await for (final dynamic #t4 in self::F<dynamic>()) {
-    o = #t4;
-  }
-}
-static method main() → asy::Future<dynamic>* async {
-  for (core::int* x in <dynamic>[1, 2, 3]) {
-  }
-  for (core::num* x in <dynamic>[1, 2, 3]) {
-  }
-  for (dynamic x in <dynamic>[1, 2, 3]) {
-  }
-  await for (core::int* x in self::MyStream::•<dynamic>()) {
-  }
-  await for (dynamic x in self::MyStream::•<core::int*>()) {
-  }
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.legacy.transformed.expect
deleted file mode 100644
index 2dbd5a0..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,249 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<self::MyStream::T*> {
-  static factory •<T extends core::Object* = dynamic>() → self::MyStream<self::MyStream::•::T*>*
-    return null;
-}
-static method F<T extends core::Object* = dynamic>() → self::F::T*
-  return null;
-static method f() → asy::Future<dynamic>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  dynamic :exception0;
-  dynamic :stack_trace0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        dynamic d;
-        core::Object* o;
-        for (dynamic x in self::F<dynamic>()) {
-        }
-        for (dynamic x in self::F<dynamic>()) {
-        }
-        for (core::Object* x in self::F<dynamic>()) {
-        }
-        for (final dynamic #t1 in self::F<dynamic>()) {
-          d = #t1;
-        }
-        for (final dynamic #t2 in self::F<dynamic>()) {
-          o = #t2;
-        }
-        {
-          dynamic :stream = self::F<dynamic>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L2:
-            while (true) {
-              dynamic #t3 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {}
-              }
-              else
-                break #L2;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = self::F<dynamic>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L3:
-            while (true) {
-              dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {}
-              }
-              else
-                break #L3;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = self::F<dynamic>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::Object*>* :for-iterator = new asy::_StreamIterator::•<core::Object*>(:stream);
-          try
-            #L4:
-            while (true) {
-              dynamic #t9 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                core::Object* x = :for-iterator.{asy::_StreamIterator::current};
-                {}
-              }
-              else
-                break #L4;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = self::F<dynamic>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L5:
-            while (true) {
-              dynamic #t12 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                final dynamic #t14 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  d = #t14;
-                }
-              }
-              else
-                break #L5;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = self::F<dynamic>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L6:
-            while (true) {
-              dynamic #t16 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                final dynamic #t18 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  o = #t18;
-                }
-              }
-              else
-                break #L6;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t19 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → asy::Future<dynamic>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  dynamic :exception0;
-  dynamic :stack_trace0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L7:
-      {
-        for (core::int* x in <dynamic>[1, 2, 3]) {
-        }
-        for (core::num* x in <dynamic>[1, 2, 3]) {
-        }
-        for (dynamic x in <dynamic>[1, 2, 3]) {
-        }
-        {
-          dynamic :stream = self::MyStream::•<dynamic>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
-          try
-            #L8:
-            while (true) {
-              dynamic #t20 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t21 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                core::int* x = :for-iterator.{asy::_StreamIterator::current};
-                {}
-              }
-              else
-                break #L8;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = self::MyStream::•<core::int*>();
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L9:
-            while (true) {
-              dynamic #t23 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {}
-              }
-              else
-                break #L9;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t25 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.legacy.expect
deleted file mode 100644
index c0ea437..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Function2<S extends core::Object* = dynamic, T extends core::Object* = dynamic> = ([S*]) →* T*;
-class Foo extends core::Object {
-  field core::List<core::int*>* x;
-  constructor •([core::List<core::int*>* x = #C2]) → self::Foo*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-  constructor named([core::List<core::int*>* x = #C2]) → self::Foo*
-    : self::Foo::x = null, super core::Object::•()
-    ;
-}
-static field ([core::List<core::int*>*]) →* core::String* g = ([dynamic llll = #C2]) → dynamic => "hello";
-static method f([core::List<core::int*>* l = #C2]) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = <dynamic>[#C1]
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.legacy.transformed.expect
deleted file mode 100644
index c0ea437..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Function2<S extends core::Object* = dynamic, T extends core::Object* = dynamic> = ([S*]) →* T*;
-class Foo extends core::Object {
-  field core::List<core::int*>* x;
-  constructor •([core::List<core::int*>* x = #C2]) → self::Foo*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-  constructor named([core::List<core::int*>* x = #C2]) → self::Foo*
-    : self::Foo::x = null, super core::Object::•()
-    ;
-}
-static field ([core::List<core::int*>*]) →* core::String* g = ([dynamic llll = #C2]) → dynamic => "hello";
-static method f([core::List<core::int*>* l = #C2]) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = <dynamic>[#C1]
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.legacy.expect
deleted file mode 100644
index 6b51b52..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B<core::int*>* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::B::T* x) → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic t1 = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.b = new self::B::•<dynamic>(1) in #t1;
-static field dynamic t2 = <self::B<core::int*>*>[new self::B::•<dynamic>(2)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index 6b51b52..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B<core::int*>* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::B::T* x) → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic t1 = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.b = new self::B::•<dynamic>(1) in #t1;
-static field dynamic t2 = <self::B<core::int*>*>[new self::B::•<dynamic>(2)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.legacy.expect
deleted file mode 100644
index b119007..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::A::T* x) → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic t1 = <self::A<core::int*>*>[new self::A::•<dynamic>(1)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.legacy.transformed.expect
deleted file mode 100644
index b119007..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::A::T* x) → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic t1 = <self::A<core::int*>*>[new self::A::•<dynamic>(1)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.legacy.expect
deleted file mode 100644
index 9974729..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class F0 extends core::Object {
-  constructor •(core::List<core::int*>* a) → self::F0*
-    : super core::Object::•() {}
-}
-class F1 extends core::Object {
-  constructor •({core::List<core::int*>* a = #C1}) → self::F1*
-    : super core::Object::•() {}
-}
-class F2 extends core::Object {
-  constructor •(core::Iterable<core::int*>* a) → self::F2*
-    : super core::Object::•() {}
-}
-class F3 extends core::Object {
-  constructor •(core::Iterable<core::Iterable<core::int*>*>* a) → self::F3*
-    : super core::Object::•() {}
-}
-class F4 extends core::Object {
-  constructor •({core::Iterable<core::Iterable<core::int*>*>* a = #C1}) → self::F4*
-    : super core::Object::•() {}
-}
-static method test() → void {
-  new self::F0::•(<dynamic>[]);
-  new self::F0::•(<dynamic>[3]);
-  new self::F0::•(<dynamic>["hello"]);
-  new self::F0::•(<dynamic>["hello", 3]);
-  new self::F1::•(a: <dynamic>[]);
-  new self::F1::•(a: <dynamic>[3]);
-  new self::F1::•(a: <dynamic>["hello"]);
-  new self::F1::•(a: <dynamic>["hello", 3]);
-  new self::F2::•(<dynamic>[]);
-  new self::F2::•(<dynamic>[3]);
-  new self::F2::•(<dynamic>["hello"]);
-  new self::F2::•(<dynamic>["hello", 3]);
-  new self::F3::•(<dynamic>[]);
-  new self::F3::•(<dynamic>[<dynamic>[3]]);
-  new self::F3::•(<dynamic>[<dynamic>["hello"]]);
-  new self::F3::•(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F4::•(a: <dynamic>[]);
-  new self::F4::•(a: <dynamic>[<dynamic>[3]]);
-  new self::F4::•(a: <dynamic>[<dynamic>["hello"]]);
-  new self::F4::•(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index 9974729..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class F0 extends core::Object {
-  constructor •(core::List<core::int*>* a) → self::F0*
-    : super core::Object::•() {}
-}
-class F1 extends core::Object {
-  constructor •({core::List<core::int*>* a = #C1}) → self::F1*
-    : super core::Object::•() {}
-}
-class F2 extends core::Object {
-  constructor •(core::Iterable<core::int*>* a) → self::F2*
-    : super core::Object::•() {}
-}
-class F3 extends core::Object {
-  constructor •(core::Iterable<core::Iterable<core::int*>*>* a) → self::F3*
-    : super core::Object::•() {}
-}
-class F4 extends core::Object {
-  constructor •({core::Iterable<core::Iterable<core::int*>*>* a = #C1}) → self::F4*
-    : super core::Object::•() {}
-}
-static method test() → void {
-  new self::F0::•(<dynamic>[]);
-  new self::F0::•(<dynamic>[3]);
-  new self::F0::•(<dynamic>["hello"]);
-  new self::F0::•(<dynamic>["hello", 3]);
-  new self::F1::•(a: <dynamic>[]);
-  new self::F1::•(a: <dynamic>[3]);
-  new self::F1::•(a: <dynamic>["hello"]);
-  new self::F1::•(a: <dynamic>["hello", 3]);
-  new self::F2::•(<dynamic>[]);
-  new self::F2::•(<dynamic>[3]);
-  new self::F2::•(<dynamic>["hello"]);
-  new self::F2::•(<dynamic>["hello", 3]);
-  new self::F3::•(<dynamic>[]);
-  new self::F3::•(<dynamic>[<dynamic>[3]]);
-  new self::F3::•(<dynamic>[<dynamic>["hello"]]);
-  new self::F3::•(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F4::•(a: <dynamic>[]);
-  new self::F4::•(a: <dynamic>[<dynamic>[3]]);
-  new self::F4::•(a: <dynamic>[<dynamic>["hello"]]);
-  new self::F4::•(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.legacy.expect
deleted file mode 100644
index 790b3c9..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f0(core::List<core::int*>* a) → void {}
-static method f1({core::List<core::int*>* a = #C1}) → void {}
-static method f2(core::Iterable<core::int*>* a) → void {}
-static method f3(core::Iterable<core::Iterable<core::int*>*>* a) → void {}
-static method f4({core::Iterable<core::Iterable<core::int*>*>* a = #C1}) → void {}
-static method test() → void {
-  self::f0(<dynamic>[]);
-  self::f0(<dynamic>[3]);
-  self::f0(<dynamic>["hello"]);
-  self::f0(<dynamic>["hello", 3]);
-  self::f1(a: <dynamic>[]);
-  self::f1(a: <dynamic>[3]);
-  self::f1(a: <dynamic>["hello"]);
-  self::f1(a: <dynamic>["hello", 3]);
-  self::f2(<dynamic>[]);
-  self::f2(<dynamic>[3]);
-  self::f2(<dynamic>["hello"]);
-  self::f2(<dynamic>["hello", 3]);
-  self::f3(<dynamic>[]);
-  self::f3(<dynamic>[<dynamic>[3]]);
-  self::f3(<dynamic>[<dynamic>["hello"]]);
-  self::f3(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  self::f4(a: <dynamic>[]);
-  self::f4(a: <dynamic>[<dynamic>[3]]);
-  self::f4(a: <dynamic>[<dynamic>["hello"]]);
-  self::f4(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index 790b3c9..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f0(core::List<core::int*>* a) → void {}
-static method f1({core::List<core::int*>* a = #C1}) → void {}
-static method f2(core::Iterable<core::int*>* a) → void {}
-static method f3(core::Iterable<core::Iterable<core::int*>*>* a) → void {}
-static method f4({core::Iterable<core::Iterable<core::int*>*>* a = #C1}) → void {}
-static method test() → void {
-  self::f0(<dynamic>[]);
-  self::f0(<dynamic>[3]);
-  self::f0(<dynamic>["hello"]);
-  self::f0(<dynamic>["hello", 3]);
-  self::f1(a: <dynamic>[]);
-  self::f1(a: <dynamic>[3]);
-  self::f1(a: <dynamic>["hello"]);
-  self::f1(a: <dynamic>["hello", 3]);
-  self::f2(<dynamic>[]);
-  self::f2(<dynamic>[3]);
-  self::f2(<dynamic>["hello"]);
-  self::f2(<dynamic>["hello", 3]);
-  self::f3(<dynamic>[]);
-  self::f3(<dynamic>[<dynamic>[3]]);
-  self::f3(<dynamic>[<dynamic>["hello"]]);
-  self::f3(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  self::f4(a: <dynamic>[]);
-  self::f4(a: <dynamic>[<dynamic>[3]]);
-  self::f4(a: <dynamic>[<dynamic>["hello"]]);
-  self::f4(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.legacy.expect
deleted file mode 100644
index 110861f..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.legacy.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Function2<S extends core::Object* = dynamic, T extends core::Object* = dynamic> = (S*) →* T*;
-static method test() → void {
-  {
-    (core::int*) →* core::String* l0 = (core::int* x) → dynamic => null;
-    (core::int*) →* core::String* l1 = (core::int* x) → dynamic => "hello";
-    (core::int*) →* core::String* l2 = (core::String* x) → dynamic => "hello";
-    (core::int*) →* core::String* l3 = (core::int* x) → dynamic => 3;
-    (core::int*) →* core::String* l4 = (core::int* x) → dynamic {
-      return 3;
-    };
-  }
-  {
-    (core::int*) →* core::String* l0 = (dynamic x) → dynamic => null;
-    (core::int*) →* core::String* l1 = (dynamic x) → dynamic => "hello";
-    (core::int*) →* core::String* l2 = (dynamic x) → dynamic => 3;
-    (core::int*) →* core::String* l3 = (dynamic x) → dynamic {
-      return 3;
-    };
-    (core::int*) →* core::String* l4 = (dynamic x) → dynamic {
-      return x;
-    };
-  }
-  {
-    (core::int*) →* core::List<core::String*>* l0 = (core::int* x) → dynamic => null;
-    (core::int*) →* core::List<core::String*>* l1 = (core::int* x) → dynamic => <dynamic>["hello"];
-    (core::int*) →* core::List<core::String*>* l2 = (core::String* x) → dynamic => <dynamic>["hello"];
-    (core::int*) →* core::List<core::String*>* l3 = (core::int* x) → dynamic => <dynamic>[3];
-    (core::int*) →* core::List<core::String*>* l4 = (core::int* x) → dynamic {
-      return <dynamic>[3];
-    };
-  }
-  {
-    (core::int*) →* core::int* l0 = (dynamic x) → dynamic => x;
-    (core::int*) →* core::int* l1 = (dynamic x) → dynamic => x.+(1);
-    (core::int*) →* core::String* l2 = (dynamic x) → dynamic => x;
-    (core::int*) →* core::String* l3 = (dynamic x) → dynamic => x.substring(3);
-    (core::String*) →* core::String* l4 = (dynamic x) → dynamic => x.substring(3);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.legacy.transformed.expect
deleted file mode 100644
index 110861f..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Function2<S extends core::Object* = dynamic, T extends core::Object* = dynamic> = (S*) →* T*;
-static method test() → void {
-  {
-    (core::int*) →* core::String* l0 = (core::int* x) → dynamic => null;
-    (core::int*) →* core::String* l1 = (core::int* x) → dynamic => "hello";
-    (core::int*) →* core::String* l2 = (core::String* x) → dynamic => "hello";
-    (core::int*) →* core::String* l3 = (core::int* x) → dynamic => 3;
-    (core::int*) →* core::String* l4 = (core::int* x) → dynamic {
-      return 3;
-    };
-  }
-  {
-    (core::int*) →* core::String* l0 = (dynamic x) → dynamic => null;
-    (core::int*) →* core::String* l1 = (dynamic x) → dynamic => "hello";
-    (core::int*) →* core::String* l2 = (dynamic x) → dynamic => 3;
-    (core::int*) →* core::String* l3 = (dynamic x) → dynamic {
-      return 3;
-    };
-    (core::int*) →* core::String* l4 = (dynamic x) → dynamic {
-      return x;
-    };
-  }
-  {
-    (core::int*) →* core::List<core::String*>* l0 = (core::int* x) → dynamic => null;
-    (core::int*) →* core::List<core::String*>* l1 = (core::int* x) → dynamic => <dynamic>["hello"];
-    (core::int*) →* core::List<core::String*>* l2 = (core::String* x) → dynamic => <dynamic>["hello"];
-    (core::int*) →* core::List<core::String*>* l3 = (core::int* x) → dynamic => <dynamic>[3];
-    (core::int*) →* core::List<core::String*>* l4 = (core::int* x) → dynamic {
-      return <dynamic>[3];
-    };
-  }
-  {
-    (core::int*) →* core::int* l0 = (dynamic x) → dynamic => x;
-    (core::int*) →* core::int* l1 = (dynamic x) → dynamic => x.+(1);
-    (core::int*) →* core::String* l2 = (dynamic x) → dynamic => x;
-    (core::int*) →* core::String* l3 = (dynamic x) → dynamic => x.substring(3);
-    (core::String*) →* core::String* l4 = (dynamic x) → dynamic => x.substring(3);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.legacy.expect
deleted file mode 100644
index f9c9ca6..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  {
-    function f<T extends core::Object* = dynamic>(T* x) → T*
-      return null;
-    dynamic v1 = f;
-    v1 = <S extends core::Object* = dynamic>(dynamic x) → dynamic => x;
-  }
-  {
-    function f<T extends core::Object* = dynamic>(T* x) → core::List<T*>*
-      return null;
-    dynamic v2 = f;
-    v2 = <S extends core::Object* = dynamic>(dynamic x) → dynamic => <dynamic>[x];
-    core::Iterable<core::int*>* r = v2.call(42);
-    core::Iterable<core::String*>* s = v2.call("hello");
-    core::Iterable<core::List<core::int*>*>* t = v2.call(<core::int*>[]);
-    core::Iterable<core::num*>* u = v2.call(42);
-    core::Iterable<core::num*>* v = v2.call<core::num*>(42);
-  }
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.legacy.transformed.expect
deleted file mode 100644
index f9c9ca6..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  {
-    function f<T extends core::Object* = dynamic>(T* x) → T*
-      return null;
-    dynamic v1 = f;
-    v1 = <S extends core::Object* = dynamic>(dynamic x) → dynamic => x;
-  }
-  {
-    function f<T extends core::Object* = dynamic>(T* x) → core::List<T*>*
-      return null;
-    dynamic v2 = f;
-    v2 = <S extends core::Object* = dynamic>(dynamic x) → dynamic => <dynamic>[x];
-    core::Iterable<core::int*>* r = v2.call(42);
-    core::Iterable<core::String*>* s = v2.call("hello");
-    core::Iterable<core::List<core::int*>*>* t = v2.call(<core::int*>[]);
-    core::Iterable<core::num*>* u = v2.call(42);
-    core::Iterable<core::num*>* v = v2.call<core::num*>(42);
-  }
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.legacy.expect
deleted file mode 100644
index 4630b2f..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class F3<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::Iterable<core::Iterable<self::F3::T*>*>* a) → self::F3<self::F3::T*>*
-    : super core::Object::•() {}
-}
-class F4<T extends core::Object* = dynamic> extends core::Object {
-  constructor •({core::Iterable<core::Iterable<self::F4::T*>*>* a = #C1}) → self::F4<self::F4::T*>*
-    : super core::Object::•() {}
-}
-static method main() → void {
-  new self::F3::•<dynamic>(<dynamic>[]);
-  new self::F4::•<dynamic>(a: <dynamic>[]);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.legacy.transformed.expect
deleted file mode 100644
index 4630b2f..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class F3<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::Iterable<core::Iterable<self::F3::T*>*>* a) → self::F3<self::F3::T*>*
-    : super core::Object::•() {}
-}
-class F4<T extends core::Object* = dynamic> extends core::Object {
-  constructor •({core::Iterable<core::Iterable<self::F4::T*>*>* a = #C1}) → self::F4<self::F4::T*>*
-    : super core::Object::•() {}
-}
-static method main() → void {
-  new self::F3::•<dynamic>(<dynamic>[]);
-  new self::F4::•<dynamic>(a: <dynamic>[]);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.legacy.expect
deleted file mode 100644
index d1d33f1..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class F0<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::List<self::F0::T*>* a) → self::F0<self::F0::T*>*
-    : super core::Object::•() {}
-}
-class F1<T extends core::Object* = dynamic> extends core::Object {
-  constructor •({core::List<self::F1::T*>* a = #C1}) → self::F1<self::F1::T*>*
-    : super core::Object::•() {}
-}
-class F2<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::Iterable<self::F2::T*>* a) → self::F2<self::F2::T*>*
-    : super core::Object::•() {}
-}
-class F3<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::Iterable<core::Iterable<self::F3::T*>*>* a) → self::F3<self::F3::T*>*
-    : super core::Object::•() {}
-}
-class F4<T extends core::Object* = dynamic> extends core::Object {
-  constructor •({core::Iterable<core::Iterable<self::F4::T*>*>* a = #C1}) → self::F4<self::F4::T*>*
-    : super core::Object::•() {}
-}
-static method test() → void {
-  new self::F0::•<core::int*>(<dynamic>[]);
-  new self::F0::•<core::int*>(<dynamic>[3]);
-  new self::F0::•<core::int*>(<dynamic>["hello"]);
-  new self::F0::•<core::int*>(<dynamic>["hello", 3]);
-  new self::F1::•<core::int*>(a: <dynamic>[]);
-  new self::F1::•<core::int*>(a: <dynamic>[3]);
-  new self::F1::•<core::int*>(a: <dynamic>["hello"]);
-  new self::F1::•<core::int*>(a: <dynamic>["hello", 3]);
-  new self::F2::•<core::int*>(<dynamic>[]);
-  new self::F2::•<core::int*>(<dynamic>[3]);
-  new self::F2::•<core::int*>(<dynamic>["hello"]);
-  new self::F2::•<core::int*>(<dynamic>["hello", 3]);
-  new self::F3::•<core::int*>(<dynamic>[]);
-  new self::F3::•<core::int*>(<dynamic>[<dynamic>[3]]);
-  new self::F3::•<core::int*>(<dynamic>[<dynamic>["hello"]]);
-  new self::F3::•<core::int*>(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F4::•<core::int*>(a: <dynamic>[]);
-  new self::F4::•<core::int*>(a: <dynamic>[<dynamic>[3]]);
-  new self::F4::•<core::int*>(a: <dynamic>[<dynamic>["hello"]]);
-  new self::F4::•<core::int*>(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F3::•<dynamic>(<dynamic>[]);
-  dynamic f31 = new self::F3::•<dynamic>(<dynamic>[<dynamic>[3]]);
-  dynamic f32 = new self::F3::•<dynamic>(<dynamic>[<dynamic>["hello"]]);
-  dynamic f33 = new self::F3::•<dynamic>(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F4::•<dynamic>(a: <dynamic>[]);
-  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>[3]]);
-  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>["hello"]]);
-  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index d1d33f1..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class F0<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::List<self::F0::T*>* a) → self::F0<self::F0::T*>*
-    : super core::Object::•() {}
-}
-class F1<T extends core::Object* = dynamic> extends core::Object {
-  constructor •({core::List<self::F1::T*>* a = #C1}) → self::F1<self::F1::T*>*
-    : super core::Object::•() {}
-}
-class F2<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::Iterable<self::F2::T*>* a) → self::F2<self::F2::T*>*
-    : super core::Object::•() {}
-}
-class F3<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(core::Iterable<core::Iterable<self::F3::T*>*>* a) → self::F3<self::F3::T*>*
-    : super core::Object::•() {}
-}
-class F4<T extends core::Object* = dynamic> extends core::Object {
-  constructor •({core::Iterable<core::Iterable<self::F4::T*>*>* a = #C1}) → self::F4<self::F4::T*>*
-    : super core::Object::•() {}
-}
-static method test() → void {
-  new self::F0::•<core::int*>(<dynamic>[]);
-  new self::F0::•<core::int*>(<dynamic>[3]);
-  new self::F0::•<core::int*>(<dynamic>["hello"]);
-  new self::F0::•<core::int*>(<dynamic>["hello", 3]);
-  new self::F1::•<core::int*>(a: <dynamic>[]);
-  new self::F1::•<core::int*>(a: <dynamic>[3]);
-  new self::F1::•<core::int*>(a: <dynamic>["hello"]);
-  new self::F1::•<core::int*>(a: <dynamic>["hello", 3]);
-  new self::F2::•<core::int*>(<dynamic>[]);
-  new self::F2::•<core::int*>(<dynamic>[3]);
-  new self::F2::•<core::int*>(<dynamic>["hello"]);
-  new self::F2::•<core::int*>(<dynamic>["hello", 3]);
-  new self::F3::•<core::int*>(<dynamic>[]);
-  new self::F3::•<core::int*>(<dynamic>[<dynamic>[3]]);
-  new self::F3::•<core::int*>(<dynamic>[<dynamic>["hello"]]);
-  new self::F3::•<core::int*>(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F4::•<core::int*>(a: <dynamic>[]);
-  new self::F4::•<core::int*>(a: <dynamic>[<dynamic>[3]]);
-  new self::F4::•<core::int*>(a: <dynamic>[<dynamic>["hello"]]);
-  new self::F4::•<core::int*>(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F3::•<dynamic>(<dynamic>[]);
-  dynamic f31 = new self::F3::•<dynamic>(<dynamic>[<dynamic>[3]]);
-  dynamic f32 = new self::F3::•<dynamic>(<dynamic>[<dynamic>["hello"]]);
-  dynamic f33 = new self::F3::•<dynamic>(<dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-  new self::F4::•<dynamic>(a: <dynamic>[]);
-  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>[3]]);
-  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>["hello"]]);
-  new self::F4::•<dynamic>(a: <dynamic>[<dynamic>["hello"], <dynamic>[3]]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.legacy.expect
deleted file mode 100644
index 6707f83..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  {
-    function f<S extends core::Object* = dynamic>(core::int* x) → core::String*
-      return null;
-    dynamic v = f;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => null;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => "hello";
-    v = <T extends core::Object* = dynamic>(core::String* x) → dynamic => "hello";
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => 3;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic {
-      return 3;
-    };
-  }
-  {
-    function f<S extends core::Object* = dynamic>(core::int* x) → core::String*
-      return null;
-    dynamic v = f;
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic => null;
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic => "hello";
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic => 3;
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic {
-      return 3;
-    };
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic {
-      return x;
-    };
-  }
-  {
-    function f<S extends core::Object* = dynamic>(core::int* x) → core::List<core::String*>*
-      return null;
-    dynamic v = f;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => null;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => <dynamic>["hello"];
-    v = <T extends core::Object* = dynamic>(core::String* x) → dynamic => <dynamic>["hello"];
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => <dynamic>[3];
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic {
-      return <dynamic>[3];
-    };
-  }
-  {
-    function int2int<S extends core::Object* = dynamic>(core::int* x) → core::int*
-      return null;
-    function int2String<T extends core::Object* = dynamic>(core::int* x) → core::String*
-      return null;
-    function string2String<T extends core::Object* = dynamic>(core::String* x) → core::String*
-      return null;
-    dynamic x = int2int;
-    x = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x;
-    x = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x.+(1);
-    dynamic y = int2String;
-    y = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x;
-    y = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x.substring(3);
-    dynamic z = string2String;
-    z = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x.substring(3);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.legacy.transformed.expect
deleted file mode 100644
index 6707f83..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  {
-    function f<S extends core::Object* = dynamic>(core::int* x) → core::String*
-      return null;
-    dynamic v = f;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => null;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => "hello";
-    v = <T extends core::Object* = dynamic>(core::String* x) → dynamic => "hello";
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => 3;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic {
-      return 3;
-    };
-  }
-  {
-    function f<S extends core::Object* = dynamic>(core::int* x) → core::String*
-      return null;
-    dynamic v = f;
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic => null;
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic => "hello";
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic => 3;
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic {
-      return 3;
-    };
-    v = <T extends core::Object* = dynamic>(dynamic x) → dynamic {
-      return x;
-    };
-  }
-  {
-    function f<S extends core::Object* = dynamic>(core::int* x) → core::List<core::String*>*
-      return null;
-    dynamic v = f;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => null;
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => <dynamic>["hello"];
-    v = <T extends core::Object* = dynamic>(core::String* x) → dynamic => <dynamic>["hello"];
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic => <dynamic>[3];
-    v = <T extends core::Object* = dynamic>(core::int* x) → dynamic {
-      return <dynamic>[3];
-    };
-  }
-  {
-    function int2int<S extends core::Object* = dynamic>(core::int* x) → core::int*
-      return null;
-    function int2String<T extends core::Object* = dynamic>(core::int* x) → core::String*
-      return null;
-    function string2String<T extends core::Object* = dynamic>(core::String* x) → core::String*
-      return null;
-    dynamic x = int2int;
-    x = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x;
-    x = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x.+(1);
-    dynamic y = int2String;
-    y = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x;
-    y = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x.substring(3);
-    dynamic z = string2String;
-    z = <T extends core::Object* = dynamic>(dynamic x) → dynamic => x.substring(3);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.legacy.expect
deleted file mode 100644
index d50b939..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,117 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::A::S* x;
-  generic-covariant-impl field self::A::T* y;
-  constructor •(self::A::S* x, self::A::T* y) → self::A<self::A::S*, self::A::T*>*
-    : self::A::x = x, self::A::y = y, super core::Object::•()
-    ;
-  constructor named(self::A::S* x, self::A::T* y) → self::A<self::A::S*, self::A::T*>*
-    : self::A::x = x, self::A::y = y, super core::Object::•()
-    ;
-}
-class B<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::A<self::B::T*, self::B::S*> {
-  constructor •(self::B::S* y, self::B::T* x) → self::B<self::B::S*, self::B::T*>*
-    : super self::A::•(x, y)
-    ;
-  constructor named(self::B::S* y, self::B::T* x) → self::B<self::B::S*, self::B::T*>*
-    : super self::A::named(x, y)
-    ;
-}
-class C<S extends core::Object* = dynamic> extends self::B<self::C::S*, self::C::S*> {
-  constructor •(self::C::S* a) → self::C<self::C::S*>*
-    : super self::B::•(a, a)
-    ;
-  constructor named(self::C::S* a) → self::C<self::C::S*>*
-    : super self::B::named(a, a)
-    ;
-}
-class D<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::B<self::D::T*, core::int*> {
-  constructor •(self::D::T* a) → self::D<self::D::S*, self::D::T*>*
-    : super self::B::•(a, 3)
-    ;
-  constructor named(self::D::T* a) → self::D<self::D::S*, self::D::T*>*
-    : super self::B::named(a, 3)
-    ;
-}
-class E<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::A<self::C<self::E::S*>*, self::E::T*> {
-  constructor •(self::E::T* a) → self::E<self::E::S*, self::E::T*>*
-    : super self::A::•(null, a)
-    ;
-}
-class F<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::A<self::F::S*, self::F::T*> {
-  constructor •(self::F::S* x, self::F::T* y, {core::List<self::F::S*>* a = #C1, core::List<self::F::T*>* b = #C1}) → self::F<self::F::S*, self::F::T*>*
-    : super self::A::•(x, y)
-    ;
-  constructor named(self::F::S* x, self::F::T* y, [self::F::S* a = #C1, self::F::T* b = #C1]) → self::F<self::F::S*, self::F::T*>*
-    : super self::A::•(a, b)
-    ;
-}
-static method test() → void {
-  {
-    self::A<core::int*, core::String*>* a0 = new self::A::•<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a1 = new self::A::named<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a2 = new self::A::•<core::int*, core::String*>(3, "hello");
-    self::A<core::int*, core::String*>* a3 = new self::A::named<core::int*, core::String*>(3, "hello");
-    self::A<core::int*, core::String*>* a4 = new self::A::•<core::int*, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a5 = new self::A::named<dynamic, dynamic>(3, "hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::A::•<dynamic, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a1 = new self::A::named<dynamic, dynamic>("hello", 3);
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::B::•<dynamic, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a1 = new self::B::named<dynamic, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a2 = new self::B::•<core::String*, core::int*>("hello", 3);
-    self::A<core::int*, core::String*>* a3 = new self::B::named<core::String*, core::int*>("hello", 3);
-    self::A<core::int*, core::String*>* a4 = new self::B::•<core::String*, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a5 = new self::B::named<dynamic, dynamic>("hello", 3);
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::B::•<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a1 = new self::B::named<dynamic, dynamic>(3, "hello");
-  }
-  {
-    self::A<core::int*, core::int*>* a0 = new self::C::•<dynamic>(3);
-    self::A<core::int*, core::int*>* a1 = new self::C::named<dynamic>(3);
-    self::A<core::int*, core::int*>* a2 = new self::C::•<core::int*>(3);
-    self::A<core::int*, core::int*>* a3 = new self::C::named<core::int*>(3);
-    self::A<core::int*, core::int*>* a4 = new self::C::•<dynamic>(3);
-    self::A<core::int*, core::int*>* a5 = new self::C::named<dynamic>(3);
-  }
-  {
-    self::A<core::int*, core::int*>* a0 = new self::C::•<dynamic>("hello");
-    self::A<core::int*, core::int*>* a1 = new self::C::named<dynamic>("hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::D::•<dynamic, dynamic>("hello");
-    self::A<core::int*, core::String*>* a1 = new self::D::named<dynamic, dynamic>("hello");
-    self::A<core::int*, core::String*>* a2 = new self::D::•<core::int*, core::String*>("hello");
-    self::A<core::int*, core::String*>* a3 = new self::D::named<core::String*, core::String*>("hello");
-    self::A<core::int*, core::String*>* a4 = new self::D::•<core::num*, dynamic>("hello");
-    self::A<core::int*, core::String*>* a5 = new self::D::named<dynamic, dynamic>("hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::D::•<dynamic, dynamic>(3);
-    self::A<core::int*, core::String*>* a1 = new self::D::named<dynamic, dynamic>(3);
-  }
-  {
-    self::A<self::C<core::int*>*, core::String*>* a0 = new self::E::•<dynamic, dynamic>("hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::F::•<dynamic, dynamic>(3, "hello", a: <dynamic>[3], b: <dynamic>["hello"]);
-    self::A<core::int*, core::String*>* a1 = new self::F::•<dynamic, dynamic>(3, "hello", a: <dynamic>["hello"], b: <dynamic>[3]);
-    self::A<core::int*, core::String*>* a2 = new self::F::named<dynamic, dynamic>(3, "hello", 3, "hello");
-    self::A<core::int*, core::String*>* a3 = new self::F::named<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a4 = new self::F::named<dynamic, dynamic>(3, "hello", "hello", 3);
-    self::A<core::int*, core::String*>* a5 = new self::F::named<dynamic, dynamic>(3, "hello", "hello");
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index d50b939..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,117 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::A::S* x;
-  generic-covariant-impl field self::A::T* y;
-  constructor •(self::A::S* x, self::A::T* y) → self::A<self::A::S*, self::A::T*>*
-    : self::A::x = x, self::A::y = y, super core::Object::•()
-    ;
-  constructor named(self::A::S* x, self::A::T* y) → self::A<self::A::S*, self::A::T*>*
-    : self::A::x = x, self::A::y = y, super core::Object::•()
-    ;
-}
-class B<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::A<self::B::T*, self::B::S*> {
-  constructor •(self::B::S* y, self::B::T* x) → self::B<self::B::S*, self::B::T*>*
-    : super self::A::•(x, y)
-    ;
-  constructor named(self::B::S* y, self::B::T* x) → self::B<self::B::S*, self::B::T*>*
-    : super self::A::named(x, y)
-    ;
-}
-class C<S extends core::Object* = dynamic> extends self::B<self::C::S*, self::C::S*> {
-  constructor •(self::C::S* a) → self::C<self::C::S*>*
-    : super self::B::•(a, a)
-    ;
-  constructor named(self::C::S* a) → self::C<self::C::S*>*
-    : super self::B::named(a, a)
-    ;
-}
-class D<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::B<self::D::T*, core::int*> {
-  constructor •(self::D::T* a) → self::D<self::D::S*, self::D::T*>*
-    : super self::B::•(a, 3)
-    ;
-  constructor named(self::D::T* a) → self::D<self::D::S*, self::D::T*>*
-    : super self::B::named(a, 3)
-    ;
-}
-class E<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::A<self::C<self::E::S*>*, self::E::T*> {
-  constructor •(self::E::T* a) → self::E<self::E::S*, self::E::T*>*
-    : super self::A::•(null, a)
-    ;
-}
-class F<S extends core::Object* = dynamic, T extends core::Object* = dynamic> extends self::A<self::F::S*, self::F::T*> {
-  constructor •(self::F::S* x, self::F::T* y, {core::List<self::F::S*>* a = #C1, core::List<self::F::T*>* b = #C1}) → self::F<self::F::S*, self::F::T*>*
-    : super self::A::•(x, y)
-    ;
-  constructor named(self::F::S* x, self::F::T* y, [self::F::S* a = #C1, self::F::T* b = #C1]) → self::F<self::F::S*, self::F::T*>*
-    : super self::A::•(a, b)
-    ;
-}
-static method test() → void {
-  {
-    self::A<core::int*, core::String*>* a0 = new self::A::•<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a1 = new self::A::named<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a2 = new self::A::•<core::int*, core::String*>(3, "hello");
-    self::A<core::int*, core::String*>* a3 = new self::A::named<core::int*, core::String*>(3, "hello");
-    self::A<core::int*, core::String*>* a4 = new self::A::•<core::int*, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a5 = new self::A::named<dynamic, dynamic>(3, "hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::A::•<dynamic, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a1 = new self::A::named<dynamic, dynamic>("hello", 3);
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::B::•<dynamic, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a1 = new self::B::named<dynamic, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a2 = new self::B::•<core::String*, core::int*>("hello", 3);
-    self::A<core::int*, core::String*>* a3 = new self::B::named<core::String*, core::int*>("hello", 3);
-    self::A<core::int*, core::String*>* a4 = new self::B::•<core::String*, dynamic>("hello", 3);
-    self::A<core::int*, core::String*>* a5 = new self::B::named<dynamic, dynamic>("hello", 3);
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::B::•<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a1 = new self::B::named<dynamic, dynamic>(3, "hello");
-  }
-  {
-    self::A<core::int*, core::int*>* a0 = new self::C::•<dynamic>(3);
-    self::A<core::int*, core::int*>* a1 = new self::C::named<dynamic>(3);
-    self::A<core::int*, core::int*>* a2 = new self::C::•<core::int*>(3);
-    self::A<core::int*, core::int*>* a3 = new self::C::named<core::int*>(3);
-    self::A<core::int*, core::int*>* a4 = new self::C::•<dynamic>(3);
-    self::A<core::int*, core::int*>* a5 = new self::C::named<dynamic>(3);
-  }
-  {
-    self::A<core::int*, core::int*>* a0 = new self::C::•<dynamic>("hello");
-    self::A<core::int*, core::int*>* a1 = new self::C::named<dynamic>("hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::D::•<dynamic, dynamic>("hello");
-    self::A<core::int*, core::String*>* a1 = new self::D::named<dynamic, dynamic>("hello");
-    self::A<core::int*, core::String*>* a2 = new self::D::•<core::int*, core::String*>("hello");
-    self::A<core::int*, core::String*>* a3 = new self::D::named<core::String*, core::String*>("hello");
-    self::A<core::int*, core::String*>* a4 = new self::D::•<core::num*, dynamic>("hello");
-    self::A<core::int*, core::String*>* a5 = new self::D::named<dynamic, dynamic>("hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::D::•<dynamic, dynamic>(3);
-    self::A<core::int*, core::String*>* a1 = new self::D::named<dynamic, dynamic>(3);
-  }
-  {
-    self::A<self::C<core::int*>*, core::String*>* a0 = new self::E::•<dynamic, dynamic>("hello");
-  }
-  {
-    self::A<core::int*, core::String*>* a0 = new self::F::•<dynamic, dynamic>(3, "hello", a: <dynamic>[3], b: <dynamic>["hello"]);
-    self::A<core::int*, core::String*>* a1 = new self::F::•<dynamic, dynamic>(3, "hello", a: <dynamic>["hello"], b: <dynamic>[3]);
-    self::A<core::int*, core::String*>* a2 = new self::F::named<dynamic, dynamic>(3, "hello", 3, "hello");
-    self::A<core::int*, core::String*>* a3 = new self::F::named<dynamic, dynamic>(3, "hello");
-    self::A<core::int*, core::String*>* a4 = new self::F::named<dynamic, dynamic>(3, "hello", "hello", 3);
-    self::A<core::int*, core::String*>* a5 = new self::F::named<dynamic, dynamic>(3, "hello", "hello");
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.legacy.expect
deleted file mode 100644
index 71d70fa..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method foo([core::List<core::String*>* list1 = #C1, core::List<core::String*>* list2 = #C3]) → void {}
-static method main() → void {
-  {
-    core::List<core::int*>* l0 = <dynamic>[];
-    core::List<core::int*>* l1 = <dynamic>[3];
-    core::List<core::int*>* l2 = <dynamic>["hello"];
-    core::List<core::int*>* l3 = <dynamic>["hello", 3];
-  }
-  {
-    core::List<dynamic>* l0 = <dynamic>[];
-    core::List<dynamic>* l1 = <dynamic>[3];
-    core::List<dynamic>* l2 = <dynamic>["hello"];
-    core::List<dynamic>* l3 = <dynamic>["hello", 3];
-  }
-  {
-    core::List<core::int*>* l0 = <core::num*>[];
-    core::List<core::int*>* l1 = <core::num*>[3];
-    core::List<core::int*>* l2 = <core::num*>["hello"];
-    core::List<core::int*>* l3 = <core::num*>["hello", 3];
-  }
-  {
-    core::Iterable<core::int*>* i0 = <dynamic>[];
-    core::Iterable<core::int*>* i1 = <dynamic>[3];
-    core::Iterable<core::int*>* i2 = <dynamic>["hello"];
-    core::Iterable<core::int*>* i3 = <dynamic>["hello", 3];
-  }
-  {}
-}
-
-constants  {
-  #C1 = <dynamic>[]
-  #C2 = 42
-  #C3 = <dynamic>[#C2]
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index 71d70fa..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method foo([core::List<core::String*>* list1 = #C1, core::List<core::String*>* list2 = #C3]) → void {}
-static method main() → void {
-  {
-    core::List<core::int*>* l0 = <dynamic>[];
-    core::List<core::int*>* l1 = <dynamic>[3];
-    core::List<core::int*>* l2 = <dynamic>["hello"];
-    core::List<core::int*>* l3 = <dynamic>["hello", 3];
-  }
-  {
-    core::List<dynamic>* l0 = <dynamic>[];
-    core::List<dynamic>* l1 = <dynamic>[3];
-    core::List<dynamic>* l2 = <dynamic>["hello"];
-    core::List<dynamic>* l3 = <dynamic>["hello", 3];
-  }
-  {
-    core::List<core::int*>* l0 = <core::num*>[];
-    core::List<core::int*>* l1 = <core::num*>[3];
-    core::List<core::int*>* l2 = <core::num*>["hello"];
-    core::List<core::int*>* l3 = <core::num*>["hello", 3];
-  }
-  {
-    core::Iterable<core::int*>* i0 = <dynamic>[];
-    core::Iterable<core::int*>* i1 = <dynamic>[3];
-    core::Iterable<core::int*>* i2 = <dynamic>["hello"];
-    core::Iterable<core::int*>* i3 = <dynamic>["hello", 3];
-  }
-  {}
-}
-
-constants  {
-  #C1 = <dynamic>[]
-  #C2 = 42
-  #C3 = <dynamic>[#C2]
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.legacy.expect
deleted file mode 100644
index c0ff049..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Asserter<T extends core::Object* = dynamic> = (T*) →* void;
-typedef AsserterBuilder<S extends core::Object* = dynamic, T extends core::Object* = dynamic> = (S*) →* (T*) →* void;
-class DartType extends core::Object {
-  synthetic constructor •() → self::DartType*
-    : super core::Object::•()
-    ;
-}
-abstract class C extends core::Object {
-  static field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertBOf = null;
-  field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static get assertCOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void
-    return null;
-  abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
-  method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
-    this.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-    self::C::assertBOf.call(<dynamic>[self::_isInt, self::_isString]);
-    self::C::assertCOf.call(<dynamic>[self::_isInt, self::_isString]);
-    this.{self::C::assertDOf}(<dynamic>[self::_isInt, self::_isString]);
-    assertEOf.call(<dynamic>[self::_isInt, self::_isString]);
-  }
-}
-abstract class G<T extends core::Object* = dynamic> extends core::Object {
-  field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf = null;
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-  abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
-  method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
-    this.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-    this.{self::G::assertAOf}(<dynamic>[self::_isInt, self::_isString]);
-    this.{self::G::assertDOf}(<dynamic>[self::_isInt, self::_isString]);
-    assertEOf.call(<dynamic>[self::_isInt, self::_isString]);
-  }
-}
-static field (self::DartType*) →* void _isInt;
-static field (self::DartType*) →* void _isString;
-static field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertBOf;
-static get assertCOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void
-  return null;
-static method test() → dynamic {
-  (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf;
-  assertAOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::assertBOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::assertCOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::C::assertBOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::C::assertCOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::C* c;
-  c.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-  c.assertDOf(<dynamic>[self::_isInt, self::_isString]);
-  self::G<core::int*>* g;
-  g.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-  g.assertDOf(<dynamic>[self::_isInt, self::_isString]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.legacy.transformed.expect
deleted file mode 100644
index c0ff049..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef Asserter<T extends core::Object* = dynamic> = (T*) →* void;
-typedef AsserterBuilder<S extends core::Object* = dynamic, T extends core::Object* = dynamic> = (S*) →* (T*) →* void;
-class DartType extends core::Object {
-  synthetic constructor •() → self::DartType*
-    : super core::Object::•()
-    ;
-}
-abstract class C extends core::Object {
-  static field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertBOf = null;
-  field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static get assertCOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void
-    return null;
-  abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
-  method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
-    this.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-    self::C::assertBOf.call(<dynamic>[self::_isInt, self::_isString]);
-    self::C::assertCOf.call(<dynamic>[self::_isInt, self::_isString]);
-    this.{self::C::assertDOf}(<dynamic>[self::_isInt, self::_isString]);
-    assertEOf.call(<dynamic>[self::_isInt, self::_isString]);
-  }
-}
-abstract class G<T extends core::Object* = dynamic> extends core::Object {
-  field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf = null;
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-  abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
-  method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
-    this.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-    this.{self::G::assertAOf}(<dynamic>[self::_isInt, self::_isString]);
-    this.{self::G::assertDOf}(<dynamic>[self::_isInt, self::_isString]);
-    assertEOf.call(<dynamic>[self::_isInt, self::_isString]);
-  }
-}
-static field (self::DartType*) →* void _isInt;
-static field (self::DartType*) →* void _isString;
-static field (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertBOf;
-static get assertCOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void
-  return null;
-static method test() → dynamic {
-  (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf;
-  assertAOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::assertBOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::assertCOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::C::assertBOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::C::assertCOf.call(<dynamic>[self::_isInt, self::_isString]);
-  self::C* c;
-  c.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-  c.assertDOf(<dynamic>[self::_isInt, self::_isString]);
-  self::G<core::int*>* g;
-  g.assertAOf(<dynamic>[self::_isInt, self::_isString]);
-  g.assertDOf(<dynamic>[self::_isInt, self::_isString]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.legacy.expect
deleted file mode 100644
index b7b89c2..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.legacy.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method foo([core::Map<core::int*, core::String*>* m1 = #C4, core::Map<core::int*, core::String*>* m2 = #C7]) → void {}
-static method test() → void {
-  {
-    core::Map<core::int*, core::String*>* l0 = <dynamic, dynamic>{};
-    core::Map<core::int*, core::String*>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<core::int*, core::String*>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<core::int*, core::String*>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<core::int*, core::String*>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<dynamic, dynamic>* l0 = <dynamic, dynamic>{};
-    core::Map<dynamic, dynamic>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<dynamic, dynamic>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<dynamic, dynamic>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<dynamic, dynamic>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<dynamic, core::String*>* l0 = <dynamic, dynamic>{};
-    core::Map<dynamic, core::String*>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<dynamic, core::String*>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<dynamic, core::String*>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<dynamic, core::String*>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<core::int*, dynamic>* l0 = <dynamic, dynamic>{};
-    core::Map<core::int*, dynamic>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<core::int*, dynamic>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<core::int*, dynamic>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<core::int*, dynamic>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<core::int*, core::String*>* l0 = <core::num*, dynamic>{};
-    core::Map<core::int*, core::String*>* l1 = <core::num*, dynamic>{3: "hello"};
-    core::Map<core::int*, core::String*>* l3 = <core::num*, dynamic>{3: 3};
-  }
-  {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = "hello"
-  #C3 = <dynamic>[#C1, #C2]
-  #C4 = core::_ImmutableMap<dynamic, dynamic> {_kvPairs:#C3}
-  #C5 = "world"
-  #C6 = <dynamic>[#C2, #C5]
-  #C7 = core::_ImmutableMap<dynamic, dynamic> {_kvPairs:#C6}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.legacy.transformed.expect
deleted file mode 100644
index b7b89c2..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method foo([core::Map<core::int*, core::String*>* m1 = #C4, core::Map<core::int*, core::String*>* m2 = #C7]) → void {}
-static method test() → void {
-  {
-    core::Map<core::int*, core::String*>* l0 = <dynamic, dynamic>{};
-    core::Map<core::int*, core::String*>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<core::int*, core::String*>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<core::int*, core::String*>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<core::int*, core::String*>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<dynamic, dynamic>* l0 = <dynamic, dynamic>{};
-    core::Map<dynamic, dynamic>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<dynamic, dynamic>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<dynamic, dynamic>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<dynamic, dynamic>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<dynamic, core::String*>* l0 = <dynamic, dynamic>{};
-    core::Map<dynamic, core::String*>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<dynamic, core::String*>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<dynamic, core::String*>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<dynamic, core::String*>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<core::int*, dynamic>* l0 = <dynamic, dynamic>{};
-    core::Map<core::int*, dynamic>* l1 = <dynamic, dynamic>{3: "hello"};
-    core::Map<core::int*, dynamic>* l2 = <dynamic, dynamic>{"hello": "hello"};
-    core::Map<core::int*, dynamic>* l3 = <dynamic, dynamic>{3: 3};
-    core::Map<core::int*, dynamic>* l4 = <dynamic, dynamic>{3: "hello", "hello": 3};
-  }
-  {
-    core::Map<core::int*, core::String*>* l0 = <core::num*, dynamic>{};
-    core::Map<core::int*, core::String*>* l1 = <core::num*, dynamic>{3: "hello"};
-    core::Map<core::int*, core::String*>* l3 = <core::num*, dynamic>{3: 3};
-  }
-  {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = "hello"
-  #C3 = <dynamic>[#C1, #C2]
-  #C4 = core::_ImmutableMap<dynamic, dynamic> {_kvPairs:#C3}
-  #C5 = "world"
-  #C6 = <dynamic>[#C2, #C5]
-  #C7 = core::_ImmutableMap<dynamic, dynamic> {_kvPairs:#C6}
-}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.legacy.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.legacy.expect
deleted file mode 100644
index 856a4a8..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<self::MyStream::T*> {
-  static factory •<T extends core::Object* = dynamic>() → self::MyStream<self::MyStream::•::T*>*
-    return null;
-}
-static method foo() → asy::Stream<core::List<core::int*>*>* async* {
-  yield core::List::•<dynamic>();
-  yield self::MyStream::•<dynamic>();
-  yield* core::List::•<dynamic>();
-  yield* self::MyStream::•<dynamic>();
-}
-static method bar() → core::Iterable<core::Map<core::int*, core::int*>*>* sync* {
-  yield core::Map::•<dynamic, dynamic>();
-  yield core::List::•<dynamic>();
-  yield* core::Map::•<dynamic, dynamic>();
-  yield* core::List::•<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.legacy.transformed.expect
deleted file mode 100644
index 53dc234..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<self::MyStream::T*> {
-  static factory •<T extends core::Object* = dynamic>() → self::MyStream<self::MyStream::•::T*>*
-    return null;
-}
-static method foo() → asy::Stream<core::List<core::int*>*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<core::List<core::int*>*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try
-      try {
-        #L1:
-        {
-          if(:controller.{asy::_AsyncStarStreamController::add}(core::_GrowableList::•<dynamic>(0)))
-            return null;
-          else
-            [yield] null;
-          if(:controller.{asy::_AsyncStarStreamController::add}(self::MyStream::•<dynamic>()))
-            return null;
-          else
-            [yield] null;
-          if(:controller.{asy::_AsyncStarStreamController::addStream}(core::_GrowableList::•<dynamic>(0)))
-            return null;
-          else
-            [yield] null;
-          if(:controller.{asy::_AsyncStarStreamController::addStream}(self::MyStream::•<dynamic>()))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-      }
-    finally {
-      :controller.{asy::_AsyncStarStreamController::close}();
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :controller = new asy::_AsyncStarStreamController::•<core::List<core::int*>*>(:async_op);
-  :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-  return :controller_stream;
-}
-static method bar() → core::Iterable<core::Map<core::int*, core::int*>*>* /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<core::Map<core::int*, core::int*>*>* :iterator) → core::bool* yielding {
-    {
-      {
-        :iterator.{core::_SyncIterator::_current} = core::Map::•<dynamic, dynamic>();
-        [yield] true;
-      }
-      {
-        :iterator.{core::_SyncIterator::_current} = core::_GrowableList::•<dynamic>(0);
-        [yield] true;
-      }
-      {
-        :iterator.{core::_SyncIterator::_yieldEachIterable} = core::Map::•<dynamic, dynamic>();
-        [yield] true;
-      }
-      {
-        :iterator.{core::_SyncIterator::_yieldEachIterable} = core::_GrowableList::•<dynamic>(0);
-        [yield] true;
-      }
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<core::Map<core::int*, core::int*>*>(:sync_op);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.legacy.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.legacy.expect
deleted file mode 100644
index 3b06ed5..0000000
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → core::int*
-    return x;
-}
-static method test() → dynamic {
-  dynamic d = new self::Foo::•();
-  dynamic get_hashCode = d.hashCode;
-  dynamic call_hashCode = d.hashCode();
-  dynamic call_toString = d.toString();
-  dynamic call_toStringArg = d.toString(color: "pink");
-  dynamic call_foo0 = d.foo();
-  dynamic call_foo1 = d.foo(1);
-  dynamic call_foo2 = d.foo(1, 2);
-  dynamic call_nsm0 = d.noSuchMethod();
-  dynamic call_nsm1 = d.noSuchMethod(null);
-  dynamic call_nsm2 = d.noSuchMethod(null, null);
-  dynamic equals_self = d.==(d);
-  dynamic equals_null = d.==(null);
-  dynamic null_equals = null.==(d);
-  dynamic not_equals_self = !d.==(d);
-  dynamic not_equals_null = !d.==(null);
-  dynamic null_not_equals = !null.==(d);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.legacy.transformed.expect
deleted file mode 100644
index 3b06ed5..0000000
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → core::int*
-    return x;
-}
-static method test() → dynamic {
-  dynamic d = new self::Foo::•();
-  dynamic get_hashCode = d.hashCode;
-  dynamic call_hashCode = d.hashCode();
-  dynamic call_toString = d.toString();
-  dynamic call_toStringArg = d.toString(color: "pink");
-  dynamic call_foo0 = d.foo();
-  dynamic call_foo1 = d.foo(1);
-  dynamic call_foo2 = d.foo(1, 2);
-  dynamic call_nsm0 = d.noSuchMethod();
-  dynamic call_nsm1 = d.noSuchMethod(null);
-  dynamic call_nsm2 = d.noSuchMethod(null, null);
-  dynamic equals_self = d.==(d);
-  dynamic equals_null = d.==(null);
-  dynamic null_equals = null.==(d);
-  dynamic not_equals_self = !d.==(d);
-  dynamic not_equals_null = !d.==(null);
-  dynamic null_not_equals = !null.==(d);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.legacy.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.legacy.expect
deleted file mode 100644
index 53ec0f9..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field core::int* x;
-  constructor •() → self::C*
-    : self::C::x = self::f<dynamic>(), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.legacy.transformed.expect
deleted file mode 100644
index 53ec0f9..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field core::int* x;
-  constructor •() → self::C*
-    : self::C::x = self::f<dynamic>(), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect
deleted file mode 100644
index 8216fc3..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object implements self::B {
-  final field core::int* x;
-  constructor •() → self::C*
-    : self::C::x = self::f<dynamic>(), super core::Object::•()
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect
deleted file mode 100644
index 8216fc3..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object implements self::B {
-  final field core::int* x;
-  constructor •() → self::C*
-    : self::C::x = self::f<dynamic>(), super core::Object::•()
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.legacy.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.legacy.expect
deleted file mode 100644
index 53ec0f9..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field core::int* x;
-  constructor •() → self::C*
-    : self::C::x = self::f<dynamic>(), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.legacy.transformed.expect
deleted file mode 100644
index 53ec0f9..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field core::int* x;
-  constructor •() → self::C*
-    : self::C::x = self::f<dynamic>(), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.legacy.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.legacy.expect
deleted file mode 100644
index 551d5b1..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x;
-  constructor •(core::int* p) → self::C*
-    : self::C::x = self::f<dynamic>(p), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* t) → self::f::T*
-  return t;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.legacy.transformed.expect
deleted file mode 100644
index 551d5b1..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x;
-  constructor •(core::int* p) → self::C*
-    : self::C::x = self::f<dynamic>(p), super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* t) → self::f::T*
-  return t;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.legacy.expect
deleted file mode 100644
index 1c9d26e..0000000
--- a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x = self::C::_x;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static get _x() → core::int*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 1c9d26e..0000000
--- a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x = self::C::_x;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static get _x() → core::int*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.legacy.expect
deleted file mode 100644
index 218176a..0000000
--- a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x = self::y;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static get y() → core::int*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 218176a..0000000
--- a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x = self::y;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static get y() → core::int*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.legacy.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.legacy.expect
deleted file mode 100644
index d92b12b..0000000
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic async {
-  core::Object* o;
-  for (dynamic x in o) {
-  }
-  await for (dynamic x in o) {
-  }
-  core::int* y;
-  for (final dynamic #t1 in o) {
-    y = #t1;
-  }
-  await for (final dynamic #t2 in o) {
-    y = #t2;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.legacy.transformed.expect
deleted file mode 100644
index 4eed1a2..0000000
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-static method test() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  dynamic :exception0;
-  dynamic :stack_trace0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        core::Object* o;
-        for (dynamic x in o) {
-        }
-        {
-          dynamic :stream = o;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L2:
-            while (true) {
-              dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {}
-              }
-              else
-                break #L2;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::int* y;
-        for (final dynamic #t4 in o) {
-          y = #t4;
-        }
-        {
-          dynamic :stream = o;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L3:
-            while (true) {
-              dynamic #t5 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                final dynamic #t7 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  y = #t7;
-                }
-              }
-              else
-                break #L3;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.legacy.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.legacy.expect
deleted file mode 100644
index 31dd7f7..0000000
--- a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(core::List<core::num*>* nums) → void {
-  for (dynamic x in nums) {
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.legacy.transformed.expect
deleted file mode 100644
index 31dd7f7..0000000
--- a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(core::List<core::num*>* nums) → void {
-  for (dynamic x in nums) {
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.legacy.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.legacy.expect
deleted file mode 100644
index 824d417..0000000
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  #L1:
-  for (core::num* x = 0; ; x = x.+(1)) {
-    if(x.>=(10))
-      break #L1;
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.legacy.transformed.expect
deleted file mode 100644
index 824d417..0000000
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  #L1:
-  for (core::num* x = 0; ; x = x.+(1)) {
-    if(x.>=(10))
-      break #L1;
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.legacy.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.legacy.expect
deleted file mode 100644
index 19ce572..0000000
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::num* x;
-  for (final dynamic #t1 = x = 0; x.<(10); x = x.+(1)) {
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.legacy.transformed.expect
deleted file mode 100644
index 19ce572..0000000
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::num* x;
-  for (final dynamic #t1 = x = 0; x.<(10); x = x.+(1)) {
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.legacy.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.legacy.expect
deleted file mode 100644
index 7e23266..0000000
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  for (core::num* x = 0; x.<(10); x = x.+(1)) {
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.legacy.transformed.expect
deleted file mode 100644
index 7e23266..0000000
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  for (core::num* x = 0; x.<(10); x = x.+(1)) {
-    if(x is core::int*) {
-      dynamic y = x;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.legacy.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.legacy.expect
deleted file mode 100644
index e75c697..0000000
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method add(core::int* x) → void {}
-static method add2(core::int* y) → dynamic {}
-static method test() → dynamic {
-  asy::Future<core::int*>* f;
-  dynamic a = f.then(#C1);
-  dynamic b = f.then(#C2);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::add
-  #C2 = tearoff self::add2
-}
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.legacy.transformed.expect
deleted file mode 100644
index e75c697..0000000
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method add(core::int* x) → void {}
-static method add2(core::int* y) → dynamic {}
-static method test() → dynamic {
-  asy::Future<core::int*>* f;
-  dynamic a = f.then(#C1);
-  dynamic b = f.then(#C2);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::add
-  #C2 = tearoff self::add2
-}
diff --git a/pkg/front_end/testcases/inference/future_then.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then.dart.legacy.expect
deleted file mode 100644
index 86579bc..0000000
--- a/pkg/front_end/testcases/inference/future_then.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* async => await asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return await asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* async => 3);
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return 3;
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* async => asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect
deleted file mode 100644
index 49572da..0000000
--- a/pkg/front_end/testcases/inference/future_then.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,212 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          :return_value = 3;
-          break #L3;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L4:
-        {
-          :return_value = 3;
-          break #L4;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L5:
-        {
-          :return_value = asy::Future::value<core::int*>(3);
-          break #L5;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L6:
-        {
-          :return_value = asy::Future::value<core::int*>(3);
-          break #L6;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect
deleted file mode 100644
index 555c176..0000000
--- a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* async => await new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return await new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* async => 3);
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return 3;
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* async => new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect
deleted file mode 100644
index 2e6d4a4..0000000
--- a/pkg/front_end/testcases/inference/future_then_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,212 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          :return_value = 3;
-          break #L3;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L4:
-        {
-          :return_value = 3;
-          break #L4;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L5:
-        {
-          :return_value = new self::MyFuture::value<core::int*>(3);
-          break #L5;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L6:
-        {
-          :return_value = new self::MyFuture::value<core::int*>(3);
-          break #L6;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect
deleted file mode 100644
index 82e7d57..0000000
--- a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* async => await asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return await asy::Future::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* async => 3);
-  self::MyFuture<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return 3;
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic _) → dynamic => asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return asy::Future::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* async => asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect
deleted file mode 100644
index ea29ab5..0000000
--- a/pkg/front_end/testcases/inference/future_then_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,212 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          :return_value = 3;
-          break #L3;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L4:
-        {
-          :return_value = 3;
-          break #L4;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic _) → dynamic => asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return asy::Future::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L5:
-        {
-          :return_value = asy::Future::value<core::int*>(3);
-          break #L5;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L6:
-        {
-          :return_value = asy::Future::value<core::int*>(3);
-          break #L6;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect
deleted file mode 100644
index d804808..0000000
--- a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* async => await new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return await new self::MyFuture::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* async => 3);
-  self::MyFuture<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return 3;
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic _) → dynamic => new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* async => new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect
deleted file mode 100644
index 924c3f0f..0000000
--- a/pkg/front_end/testcases/inference/future_then_4.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,212 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<dynamic>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          :return_value = 3;
-          break #L3;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L4:
-        {
-          :return_value = 3;
-          break #L4;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic _) → dynamic => new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L5:
-        {
-          :return_value = new self::MyFuture::value<core::int*>(3);
-          break #L5;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L6:
-        {
-          :return_value = new self::MyFuture::value<core::int*>(3);
-          break #L6;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect
deleted file mode 100644
index b1fed9c..0000000
--- a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* async => await new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return await new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* async => 3);
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return 3;
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* async => new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect
deleted file mode 100644
index afe5c9d..0000000
--- a/pkg/front_end/testcases/inference/future_then_5.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,212 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          :return_value = 3;
-          break #L3;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L4:
-        {
-          :return_value = 3;
-          break #L4;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L5:
-        {
-          :return_value = new self::MyFuture::value<core::int*>(3);
-          break #L5;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L6:
-        {
-          :return_value = new self::MyFuture::value<core::int*>(3);
-          break #L6;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect
deleted file mode 100644
index ee3027e..0000000
--- a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* async => await asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return await asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* async => 3);
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return 3;
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* async => asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* async {
-    return asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect
deleted file mode 100644
index bb51005..0000000
--- a/pkg/front_end/testcases/inference/future_then_6.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,212 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<dynamic>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t3 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          :return_value = 3;
-          break #L3;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t4 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L4:
-        {
-          :return_value = 3;
-          break #L4;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic _) → dynamic => asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic _) → dynamic {
-    return asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t7 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L5:
-        {
-          :return_value = asy::Future::value<core::int*>(3);
-          break #L5;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t8 = f.then((dynamic _) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L6:
-        {
-          :return_value = asy::Future::value<core::int*>(3);
-          break #L6;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect
deleted file mode 100644
index bee904d..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => x ? 2 : await asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return await x ? 2 : asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect
deleted file mode 100644
index 6621c72..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(x) {
-            :async_temporary_0 = 2;
-          }
-          else {
-            [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result ? 2 : asy::Future::value<core::int*>(3);
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect
deleted file mode 100644
index 879590f..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => x ? 2 : await new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return await x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect
deleted file mode 100644
index 55a472f..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(x) {
-            :async_temporary_0 = 2;
-          }
-          else {
-            [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result ? 2 : new self::MyFuture::value<core::int*>(3);
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect
deleted file mode 100644
index e4ac6bb..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => x ? 2 : await asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return await x ? 2 : asy::Future::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect
deleted file mode 100644
index a7525fc..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(x) {
-            :async_temporary_0 = 2;
-          }
-          else {
-            [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result ? 2 : asy::Future::value<core::int*>(3);
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : asy::Future::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect
deleted file mode 100644
index b92553e..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => x ? 2 : await new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return await x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect
deleted file mode 100644
index 3290b66..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::bool*>* f;
-  self::MyFuture<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(x) {
-            :async_temporary_0 = 2;
-          }
-          else {
-            [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result ? 2 : new self::MyFuture::value<core::int*>(3);
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  self::MyFuture<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : new self::MyFuture::value<core::int*>(3));
-  self::MyFuture<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect
deleted file mode 100644
index fa9c691..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => x ? 2 : await new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return await x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect
deleted file mode 100644
index c8132ae..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(x) {
-            :async_temporary_0 = 2;
-          }
-          else {
-            [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result ? 2 : new self::MyFuture::value<core::int*>(3);
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : new self::MyFuture::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : new self::MyFuture::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect
deleted file mode 100644
index 6f7a509..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => x ? 2 : await asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return await x ? 2 : asy::Future::value<core::int*>(3);
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect
deleted file mode 100644
index a0a27e5..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  asy::Future<core::bool*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          if(x) {
-            :async_temporary_0 = 2;
-          }
-          else {
-            [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = :result ? 2 : asy::Future::value<core::int*>(3);
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => x ? 2 : asy::Future::value<core::int*>(3));
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return x ? 2 : asy::Future::value<core::int*>(3);
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.legacy.expect
deleted file mode 100644
index 6ab63e2..0000000
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method test() → dynamic {
-  asy::Future<core::int*>* f;
-  asy::Future<core::List<core::int*>*>* b = f.then((dynamic x) → dynamic => <dynamic>[]).whenComplete(() → dynamic {});
-  b = f.then((dynamic x) → dynamic => <dynamic>[]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.legacy.transformed.expect
deleted file mode 100644
index 6ab63e2..0000000
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method test() → dynamic {
-  asy::Future<core::int*>* f;
-  asy::Future<core::List<core::int*>*>* b = f.then((dynamic x) → dynamic => <dynamic>[]).whenComplete(() → dynamic {});
-  b = f.then((dynamic x) → dynamic => <dynamic>[]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.legacy.expect
deleted file mode 100644
index 482caee..0000000
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method m1() → dynamic {
-  asy::Future<core::int*>* f;
-  dynamic x = f.then<asy::Future<core::List<core::int*>*>*>((dynamic x) → dynamic => <dynamic>[]);
-  asy::Future<core::List<core::int*>*>* y = x;
-}
-static method m2() → dynamic {
-  asy::Future<core::int*>* f;
-  dynamic x = f.then<core::List<core::int*>*>((dynamic x) → dynamic => <dynamic>[]);
-  asy::Future<core::List<core::int*>*>* y = x;
-}
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.legacy.transformed.expect
deleted file mode 100644
index 482caee..0000000
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method m1() → dynamic {
-  asy::Future<core::int*>* f;
-  dynamic x = f.then<asy::Future<core::List<core::int*>*>*>((dynamic x) → dynamic => <dynamic>[]);
-  asy::Future<core::List<core::int*>*>* y = x;
-}
-static method m2() → dynamic {
-  asy::Future<core::int*>* f;
-  dynamic x = f.then<core::List<core::int*>*>((dynamic x) → dynamic => <dynamic>[]);
-  asy::Future<core::List<core::int*>*>* y = x;
-}
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect
deleted file mode 100644
index dd582d2..0000000
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::int*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* async => let final dynamic #t1 = x in #t1.==(null) ? await asy::Future::value<core::int*>(3) : #t1);
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* async {
-    return let final dynamic #t2 = await x in #t2.==(null) ? asy::Future::value<core::int*>(3) : #t2;
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => let final dynamic #t3 = x in #t3.==(null) ? asy::Future::value<core::int*>(3) : #t3);
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return let final dynamic #t4 = x in #t4.==(null) ? asy::Future::value<core::int*>(3) : #t4;
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect
deleted file mode 100644
index 441ff1e..0000000
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,112 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  self::MyFuture<core::int*>* f;
-  asy::Future<core::int*>* t1 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :async_temporary_0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          final dynamic #t1 = x;
-          if(#t1.==(null)) {
-            [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_0 = :result;
-          }
-          else {
-            :async_temporary_0 = #t1;
-          }
-          :return_value = :async_temporary_0;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t2 = f.then((dynamic x) → asy::Future<dynamic>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          [yield] let dynamic #t3 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = let final dynamic #t4 = :result in #t4.==(null) ? asy::Future::value<core::int*>(3) : #t4;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  });
-  asy::Future<core::int*>* t5 = f.then((dynamic x) → dynamic => let final dynamic #t5 = x in #t5.==(null) ? asy::Future::value<core::int*>(3) : #t5);
-  asy::Future<core::int*>* t6 = f.then((dynamic x) → dynamic {
-    return let final dynamic #t6 = x in #t6.==(null) ? asy::Future::value<core::int*>(3) : #t6;
-  });
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect
deleted file mode 100644
index 2f92869..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method main() → void {
-  dynamic f = self::foo().then((dynamic _) → dynamic => 2.3);
-  asy::Future<core::int*>* f2 = f;
-  asy::Future<core::num*>* f3 = self::foo().then((dynamic _) → dynamic => 2.3) as asy::Future<core::double*>*;
-}
-static method foo() → self::MyFuture<dynamic>*
-  return new self::MyFuture::value<core::int*>(1);
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 2f92869..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method main() → void {
-  dynamic f = self::foo().then((dynamic _) → dynamic => 2.3);
-  asy::Future<core::int*>* f2 = f;
-  asy::Future<core::num*>* f3 = self::foo().then((dynamic _) → dynamic => 2.3) as asy::Future<core::double*>*;
-}
-static method foo() → self::MyFuture<dynamic>*
-  return new self::MyFuture::value<core::int*>(1);
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect
deleted file mode 100644
index 1794962..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method main() → void {
-  dynamic f = self::foo().then((dynamic _) → dynamic => 2.3);
-  self::MyFuture<core::int*>* f2 = f;
-  self::MyFuture<core::num*>* f3 = self::foo().then((dynamic _) → dynamic => 2.3) as self::MyFuture<core::double*>*;
-}
-static method foo() → self::MyFuture<dynamic>*
-  return new self::MyFuture::value<core::int*>(1);
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect
deleted file mode 100644
index 1794962..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method main() → void {
-  dynamic f = self::foo().then((dynamic _) → dynamic => 2.3);
-  self::MyFuture<core::int*>* f2 = f;
-  self::MyFuture<core::num*>* f3 = self::foo().then((dynamic _) → dynamic => 2.3) as self::MyFuture<core::double*>*;
-}
-static method foo() → self::MyFuture<dynamic>*
-  return new self::MyFuture::value<core::int*>(1);
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect
deleted file mode 100644
index da56314..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  dynamic f = self::foo().then((dynamic _) → dynamic => 2.3);
-  asy::Future<core::int*>* f2 = f;
-  asy::Future<core::num*>* f3 = self::foo().then((dynamic _) → dynamic => 2.3) as asy::Future<core::double*>*;
-}
-static method foo() → asy::Future<dynamic>*
-  return asy::Future::value<core::int*>(1);
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect
deleted file mode 100644
index da56314..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(self::MyFuture::T* x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method test() → void {
-  dynamic f = self::foo().then((dynamic _) → dynamic => 2.3);
-  asy::Future<core::int*>* f2 = f;
-  asy::Future<core::num*>* f3 = self::foo().then((dynamic _) → dynamic => 2.3) as asy::Future<core::double*>*;
-}
-static method foo() → asy::Future<dynamic>*
-  return asy::Future::value<core::int*>(1);
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.legacy.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.legacy.expect
deleted file mode 100644
index 5b23c27..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method test() → dynamic {
-  asy::Future<core::int*>* base;
-  dynamic f = base.then((dynamic x) → dynamic {
-    return x.==(0);
-  });
-  dynamic g = base.then((dynamic x) → dynamic => x.==(0));
-  asy::Future<core::bool*>* b = f;
-  b = g;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.legacy.transformed.expect
deleted file mode 100644
index 5b23c27..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method test() → dynamic {
-  asy::Future<core::int*>* base;
-  dynamic f = base.then((dynamic x) → dynamic {
-    return x.==(0);
-  });
-  dynamic g = base.then((dynamic x) → dynamic => x.==(0));
-  asy::Future<core::bool*>* b = f;
-  b = g;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect
deleted file mode 100644
index 6e8306a..0000000
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(dynamic x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method g1(core::bool* x) → asy::Future<core::int*>* async {
-  return x ? 42 : asy::Future::value<dynamic>(42);
-}
-static method g2(core::bool* x) → asy::Future<core::int*>* async 
-  return x ? 42 : asy::Future::value<dynamic>(42);
-static method g3(core::bool* x) → asy::Future<core::int*>* async {
-  dynamic y = x ? 42 : asy::Future::value<dynamic>(42);
-  return y;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect
deleted file mode 100644
index c4e4446..0000000
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,121 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(dynamic x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method g1(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-  asy::FutureOr<core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = x ? 42 : asy::Future::value<dynamic>(42);
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g2(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-  asy::FutureOr<core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = x ? 42 : asy::Future::value<dynamic>(42);
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g3(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-  asy::FutureOr<core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L3:
-      {
-        dynamic y = x ? 42 : asy::Future::value<dynamic>(42);
-        :return_value = y;
-        break #L3;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect
deleted file mode 100644
index 3e7205c..0000000
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(dynamic x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method g1(core::bool* x) → asy::Future<core::int*>* async {
-  return x ? 42 : new self::MyFuture::value<dynamic>(42);
-}
-static method g2(core::bool* x) → asy::Future<core::int*>* async 
-  return x ? 42 : new self::MyFuture::value<dynamic>(42);
-static method g3(core::bool* x) → asy::Future<core::int*>* async {
-  dynamic y = x ? 42 : new self::MyFuture::value<dynamic>(42);
-  return y;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect
deleted file mode 100644
index c312a96..0000000
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,121 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value(dynamic x) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static method g1(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-  asy::FutureOr<core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = x ? 42 : new self::MyFuture::value<dynamic>(42);
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g2(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-  asy::FutureOr<core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = x ? 42 : new self::MyFuture::value<dynamic>(42);
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g3(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::int*>();
-  asy::FutureOr<core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L3:
-      {
-        dynamic y = x ? 42 : new self::MyFuture::value<dynamic>(42);
-        :return_value = y;
-        break #L3;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect
deleted file mode 100644
index ab24348..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field self::MyFuture<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => asy::Future::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* async {
-  return <dynamic>[3];
-}
-static method g3() → asy::Future<core::List<core::int*>*>* async {
-  return asy::Future::value<dynamic>(<dynamic>[3]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index 8c8e570..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field self::MyFuture<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => asy::Future::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = <dynamic>[3];
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g3() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = asy::Future::value<dynamic>(<dynamic>[3]);
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect
deleted file mode 100644
index 1e35208..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field self::MyFuture<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => new self::MyFuture::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* async {
-  return <dynamic>[3];
-}
-static method g3() → asy::Future<core::List<core::int*>*>* async {
-  return new self::MyFuture::value<dynamic>(<dynamic>[3]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect
deleted file mode 100644
index 7a8e5e5..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field self::MyFuture<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => new self::MyFuture::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = <dynamic>[3];
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g3() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = new self::MyFuture::value<dynamic>(<dynamic>[3]);
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect
deleted file mode 100644
index 97572be..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field asy::Future<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => asy::Future::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* async {
-  return <dynamic>[3];
-}
-static method g3() → asy::Future<core::List<core::int*>*>* async {
-  return asy::Future::value<dynamic>(<dynamic>[3]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect
deleted file mode 100644
index f16a413..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field asy::Future<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => asy::Future::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = <dynamic>[3];
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g3() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = asy::Future::value<dynamic>(<dynamic>[3]);
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect
deleted file mode 100644
index d32ef22..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field asy::Future<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => new self::MyFuture::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* async {
-  return <dynamic>[3];
-}
-static method g3() → asy::Future<core::List<core::int*>*>* async {
-  return new self::MyFuture::value<dynamic>(<dynamic>[3]);
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect
deleted file mode 100644
index 30c8cdc..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
-  constructor •() → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  constructor value([dynamic x = #C1]) → self::MyFuture<self::MyFuture::T*>*
-    : super core::Object::•() {}
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
-  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::MyFuture::T*>*
-    return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
-}
-static field asy::Future<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.then((dynamic _) → dynamic => new self::MyFuture::value<dynamic>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.then((dynamic _) → dynamic => <dynamic>[3]);
-static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = <dynamic>[3];
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method g3() → asy::Future<core::List<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::List<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::List<core::int*>*>();
-  asy::FutureOr<core::List<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = new self::MyFuture::value<dynamic>(<dynamic>[3]);
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = #catchError
-  #C3 = <core::Type*>[]
-  #C4 = #test
-  #C5 = #whenComplete
-  #C6 = <dynamic>[]
-  #C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
-  #C8 = #timeout
-  #C9 = #onTimeout
-  #C10 = #asStream
-}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.legacy.expect
deleted file mode 100644
index 3471ea5..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic async {
-  asy::Future<core::List<self::A*>*>* f1 = null;
-  asy::Future<core::List<self::A*>*>* f2 = null;
-  core::List<core::List<self::A*>*>* merged = await asy::Future::wait<dynamic>(<dynamic>[f1, f2]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.legacy.transformed.expect
deleted file mode 100644
index 8faaeae..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        asy::Future<core::List<self::A*>*>* f1 = null;
-        asy::Future<core::List<self::A*>*>* f2 = null;
-        [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::wait<dynamic>(<dynamic>[f1, f2]), :async_op_then, :async_op_error, :async_op) in null;
-        core::List<core::List<self::A*>*>* merged = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.legacy.expect
deleted file mode 100644
index 2111b62..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method id<T extends core::Object* = dynamic>(self::id::T* x) → self::id::T*
-  return x;
-static method test() → dynamic async {
-  asy::Future<core::String*>* f;
-  core::String* s = await self::id<dynamic>(f);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.legacy.transformed.expect
deleted file mode 100644
index 52b80bb..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method id<T extends core::Object* = dynamic>(self::id::T* x) → self::id::T*
-  return x;
-static method test() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        asy::Future<core::String*>* f;
-        [yield] let dynamic #t1 = asy::_awaitHelper(self::id<dynamic>(f), :async_op_then, :async_op_error, :async_op) in null;
-        core::String* s = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.legacy.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.legacy.expect
deleted file mode 100644
index e31e291..0000000
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::A {
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic async {
-  dynamic b = asy::Future::value<self::B*>(new self::B::•());
-  dynamic c = asy::Future::value<self::C*>(new self::C::•());
-  dynamic lll = <dynamic>[b, c];
-  dynamic result = await asy::Future::wait<dynamic>(lll);
-  dynamic result2 = await asy::Future::wait<dynamic>(<dynamic>[b, c]);
-  core::List<self::A*>* list = result;
-  list = result2;
-}
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.legacy.transformed.expect
deleted file mode 100644
index 053fc26..0000000
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::A {
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        dynamic b = asy::Future::value<self::B*>(new self::B::•());
-        dynamic c = asy::Future::value<self::C*>(new self::C::•());
-        dynamic lll = <dynamic>[b, c];
-        [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::wait<dynamic>(lll), :async_op_then, :async_op_error, :async_op) in null;
-        dynamic result = :result;
-        [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::wait<dynamic>(<dynamic>[b, c]), :async_op_then, :async_op_error, :async_op) in null;
-        dynamic result2 = :result;
-        core::List<self::A*>* list = result;
-        list = result2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.legacy.expect b/pkg/front_end/testcases/inference/generator_closure.dart.legacy.expect
deleted file mode 100644
index 3b38d52..0000000
--- a/pkg/front_end/testcases/inference/generator_closure.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method foo(() →* asy::Stream<core::int*>* values) → void {}
-static method main() → void {
-  self::foo(() → asy::Stream<dynamic>* async* {
-    yield 0;
-    yield 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generator_closure.dart.legacy.transformed.expect
deleted file mode 100644
index 7bea27e..0000000
--- a/pkg/front_end/testcases/inference/generator_closure.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method foo(() →* asy::Stream<core::int*>* values) → void {}
-static method main() → void {
-  self::foo(() → asy::Stream<dynamic>* /* originally async* */ {
-    asy::_AsyncStarStreamController<dynamic>* :controller;
-    dynamic :controller_stream;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try
-        try {
-          #L1:
-          {
-            if(:controller.{asy::_AsyncStarStreamController::add}(0))
-              return null;
-            else
-              [yield] null;
-            if(:controller.{asy::_AsyncStarStreamController::add}(1))
-              return null;
-            else
-              [yield] null;
-          }
-          return;
-        }
-        on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-          :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-        }
-      finally {
-        :controller.{asy::_AsyncStarStreamController::close}();
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
-    :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-    return :controller_stream;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.legacy.expect
deleted file mode 100644
index 10668cc..0000000
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef ToValue<T extends core::Object* = dynamic> = (T*) →* void;
-static method main() → dynamic {
-  function f<T extends core::Object* = dynamic>(T* x) → (T*) →* void
-    return null;
-  dynamic x = f.call<core::int*>(42);
-  dynamic y = f.call(42);
-  (core::int*) →* void takesInt = x;
-  takesInt = y;
-}
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.legacy.transformed.expect
deleted file mode 100644
index 10668cc..0000000
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef ToValue<T extends core::Object* = dynamic> = (T*) →* void;
-static method main() → dynamic {
-  function f<T extends core::Object* = dynamic>(T* x) → (T*) →* void
-    return null;
-  dynamic x = f.call<core::int*>(42);
-  dynamic y = f.call(42);
-  (core::int*) →* void takesInt = x;
-  takesInt = y;
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.legacy.expect
deleted file mode 100644
index 4f8c568..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<S extends core::Object* = dynamic, T extends core::Object* = dynamic>(self::f::S* s) → self::f::T*
-  return null;
-static method main() → dynamic {
-  core::String* x = self::f<dynamic, dynamic>(42);
-  core::String* y = (#C1).call(42);
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 4f8c568..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<S extends core::Object* = dynamic, T extends core::Object* = dynamic>(self::f::S* s) → self::f::T*
-  return null;
-static method main() → dynamic {
-  core::String* x = self::f<dynamic, dynamic>(42);
-  core::String* y = (#C1).call(42);
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.legacy.expect
deleted file mode 100644
index 17b048c..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends core::Pattern = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method method<U extends self::Foo::T = dynamic>(self::Foo::method::U u) → self::Foo::method::U
-    return u;
-}
-static method main() → dynamic {
-  new self::Foo::•<core::String>().method(42);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 17b048c..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends core::Pattern = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method method<U extends self::Foo::T = dynamic>(self::Foo::method::U u) → self::Foo::method::U
-    return u;
-}
-static method main() → dynamic {
-  new self::Foo::•<core::String>().method(42);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.legacy.expect
deleted file mode 100644
index 1af3081..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-import "dart:math";
-
-static method printInt(core::int* x) → void
-  return core::print(x);
-static method printDouble(core::double* x) → void
-  return core::print(x);
-static method myMax(core::num* x, core::num* y) → core::num*
-  return math::max<dynamic>(x, y);
-static method f() → dynamic {
-  self::printInt(math::max<dynamic>(1, 2));
-  self::printInt(math::min<dynamic>(1, 2));
-  self::printDouble(math::max<dynamic>(1.0, 2.0));
-  self::printDouble(math::min<dynamic>(1.0, 2.0));
-  self::printInt(self::myMax(1, 2));
-  self::printInt(self::myMax(1, 2) as core::int*);
-  self::printInt(math::max<dynamic>(1, 2.0));
-  self::printInt(math::min<dynamic>(1, 2.0));
-  self::printDouble(math::max<dynamic>(1, 2.0));
-  self::printDouble(math::min<dynamic>(1, 2.0));
-  self::printInt(math::min<dynamic>("hi", "there"));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.legacy.transformed.expect
deleted file mode 100644
index 1af3081..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-import "dart:math";
-
-static method printInt(core::int* x) → void
-  return core::print(x);
-static method printDouble(core::double* x) → void
-  return core::print(x);
-static method myMax(core::num* x, core::num* y) → core::num*
-  return math::max<dynamic>(x, y);
-static method f() → dynamic {
-  self::printInt(math::max<dynamic>(1, 2));
-  self::printInt(math::min<dynamic>(1, 2));
-  self::printDouble(math::max<dynamic>(1.0, 2.0));
-  self::printDouble(math::min<dynamic>(1.0, 2.0));
-  self::printInt(self::myMax(1, 2));
-  self::printInt(self::myMax(1, 2) as core::int*);
-  self::printInt(math::max<dynamic>(1, 2.0));
-  self::printInt(math::min<dynamic>(1, 2.0));
-  self::printDouble(math::max<dynamic>(1, 2.0));
-  self::printDouble(math::min<dynamic>(1, 2.0));
-  self::printInt(math::min<dynamic>("hi", "there"));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.legacy.expect
deleted file mode 100644
index 4370627..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object = dynamic>(self::C::m::T x) → self::C::m::T
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → void
-    : super self::C::•()
-    ;
-  method m(dynamic x) → dynamic
-    return x;
-}
-static method main() → dynamic {
-  core::int y = new self::D::•().m<core::int>(42);
-  core::print(y);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.legacy.transformed.expect
deleted file mode 100644
index 4370627..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object = dynamic>(self::C::m::T x) → self::C::m::T
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → void
-    : super self::C::•()
-    ;
-  method m(dynamic x) → dynamic
-    return x;
-}
-static method main() → dynamic {
-  core::int y = new self::D::•().m<core::int>(42);
-  core::print(y);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.legacy.expect
deleted file mode 100644
index 644331e..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<T extends core::Object* = dynamic>(core::List<self::f::T*>* s) → self::f::T*
-  return null;
-static method test() → dynamic {
-  core::String* x = self::f<dynamic>(<dynamic>["hi"]);
-  core::String* y = self::f<dynamic>(<dynamic>[42]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.legacy.transformed.expect
deleted file mode 100644
index 644331e..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<T extends core::Object* = dynamic>(core::List<self::f::T*>* s) → self::f::T*
-  return null;
-static method test() → dynamic {
-  core::String* x = self::f<dynamic>(<dynamic>["hi"]);
-  core::String* y = self::f<dynamic>(<dynamic>[42]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.legacy.expect
deleted file mode 100644
index 89ed9d1..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::List<core::int*>* o;
-  core::int* y = o.fold(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  dynamic z = o.fold(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  y = z;
-}
-static method functionExpressionInvocation() → void {
-  core::List<core::int*>* o;
-  core::int* y = o.fold.call(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  dynamic z = o.fold.call(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  y = z;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.legacy.transformed.expect
deleted file mode 100644
index 89ed9d1..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  core::List<core::int*>* o;
-  core::int* y = o.fold(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  dynamic z = o.fold(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  y = z;
-}
-static method functionExpressionInvocation() → void {
-  core::List<core::int*>* o;
-  core::int* y = o.fold.call(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  dynamic z = o.fold.call(0, (dynamic x, dynamic y) → dynamic => x.+(y));
-  y = z;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.legacy.expect
deleted file mode 100644
index fd38f67..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.legacy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:14:5: Warning: Declared type variables of 'D.m' doesn't match those on overridden method 'C.m'.
-//   T m<T>(T x) => x;
-//     ^
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:9:3: Context: This is the overridden method ('m').
-//   m(x) => x;
-//   ^
-//
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:15:5: Warning: Declared type variables of 'D.g' doesn't match those on overridden method 'C.g'.
-//   T g<T>(T x) => x;
-//     ^
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:10:11: Context: This is the overridden method ('g').
-//   dynamic g(int x) => x;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m(dynamic x) → dynamic
-    return x;
-  method g(core::int* x) → dynamic
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method m<T extends core::Object* = dynamic>(self::D::m::T* x) → self::D::m::T*
-    return x;
-  method g<T extends core::Object* = dynamic>(self::D::g::T* x) → self::D::g::T*
-    return x;
-}
-static method main() → dynamic {
-  core::int* y = (new self::D::•() as self::C*).m(42);
-  core::print(y);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.legacy.transformed.expect
deleted file mode 100644
index fd38f67..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:14:5: Warning: Declared type variables of 'D.m' doesn't match those on overridden method 'C.m'.
-//   T m<T>(T x) => x;
-//     ^
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:9:3: Context: This is the overridden method ('m').
-//   m(x) => x;
-//   ^
-//
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:15:5: Warning: Declared type variables of 'D.g' doesn't match those on overridden method 'C.g'.
-//   T g<T>(T x) => x;
-//     ^
-// pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart:10:11: Context: This is the overridden method ('g').
-//   dynamic g(int x) => x;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m(dynamic x) → dynamic
-    return x;
-  method g(core::int* x) → dynamic
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method m<T extends core::Object* = dynamic>(self::D::m::T* x) → self::D::m::T*
-    return x;
-  method g<T extends core::Object* = dynamic>(self::D::g::T* x) → self::D::g::T*
-    return x;
-}
-static method main() → dynamic {
-  core::int* y = (new self::D::•() as self::C*).m(42);
-  core::print(y);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect
deleted file mode 100644
index f47805d..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<V extends core::Object* = dynamic> = (V*) →* void;
-class C<T extends core::Object* = dynamic> extends self::D<self::C::T*> {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super self::D::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::C::f::U* x) → (self::C::f::U*) →* void {}
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::D::f::U* u) → (self::D::f::U*) →* void
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect
deleted file mode 100644
index f47805d..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<V extends core::Object* = dynamic> = (V*) →* void;
-class C<T extends core::Object* = dynamic> extends self::D<self::C::T*> {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super self::D::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::C::f::U* x) → (self::C::f::U*) →* void {}
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::D::f::U* u) → (self::D::f::U*) →* void
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect
deleted file mode 100644
index bd37b92..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef G<V extends core::Object* = dynamic> = () →* core::List<V*>*;
-class C<T extends core::Object* = dynamic> extends self::D<self::C::T*> {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super self::D::•()
-    ;
-  method f<U extends core::Object* = dynamic>(() →* core::List<self::C::f::U*>* g) → void
-    return null;
-}
-abstract class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f<U extends core::Object* = dynamic>(() →* core::List<self::D::f::U*>* g) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect
deleted file mode 100644
index bd37b92..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef G<V extends core::Object* = dynamic> = () →* core::List<V*>*;
-class C<T extends core::Object* = dynamic> extends self::D<self::C::T*> {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super self::D::•()
-    ;
-  method f<U extends core::Object* = dynamic>(() →* core::List<self::C::f::U*>* g) → void
-    return null;
-}
-abstract class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f<U extends core::Object* = dynamic>(() →* core::List<self::D::f::U*>* g) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect
deleted file mode 100644
index 5696a03..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<V extends core::Object* = dynamic> = () →* V*;
-class C<T extends core::Object* = dynamic> extends self::D<self::C::T*> {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super self::D::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::C::f::U* x) → () →* self::C::f::U* {}
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::D::f::U* u) → () →* self::D::f::U*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect
deleted file mode 100644
index 5696a03..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<V extends core::Object* = dynamic> = () →* V*;
-class C<T extends core::Object* = dynamic> extends self::D<self::C::T*> {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super self::D::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::C::f::U* x) → () →* self::C::f::U* {}
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::D::f::U* u) → () →* self::D::f::U*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.legacy.expect
deleted file mode 100644
index dc800ae..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.legacy.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "dart:math" as math;
-import "dart:math";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::num* = dynamic>(self::C::m::T* x, self::C::m::T* y) → self::C::m::T*
-    return null;
-}
-static method test() → dynamic {
-  self::takeIII(#C1);
-  self::takeDDD(#C1);
-  self::takeNNN(#C1);
-  self::takeIDN(#C1);
-  self::takeDIN(#C1);
-  self::takeIIN(#C1);
-  self::takeDDN(#C1);
-  self::takeIIO(#C1);
-  self::takeDDO(#C1);
-  self::takeOOI(#C1);
-  self::takeIDI(#C1);
-  self::takeDID(#C1);
-  self::takeOON(#C1);
-  self::takeOOO(#C1);
-  self::takeIII(#C2);
-  self::takeDDD(#C2);
-  self::takeNNN(#C2);
-  self::takeIDN(#C2);
-  self::takeDIN(#C2);
-  self::takeIIN(#C2);
-  self::takeDDN(#C2);
-  self::takeIIO(#C2);
-  self::takeDDO(#C2);
-  self::takeOOI(#C2);
-  self::takeIDI(#C2);
-  self::takeDID(#C2);
-  self::takeOON(#C2);
-  self::takeOOO(#C2);
-  self::takeIII(new self::C::•().m);
-  self::takeDDD(new self::C::•().m);
-  self::takeNNN(new self::C::•().m);
-  self::takeIDN(new self::C::•().m);
-  self::takeDIN(new self::C::•().m);
-  self::takeIIN(new self::C::•().m);
-  self::takeDDN(new self::C::•().m);
-  self::takeIIO(new self::C::•().m);
-  self::takeDDO(new self::C::•().m);
-  self::takeOON(new self::C::•().m);
-  self::takeOOO(new self::C::•().m);
-  self::takeOOI(new self::C::•().m);
-  self::takeIDI(new self::C::•().m);
-  self::takeDID(new self::C::•().m);
-}
-static method takeIII((core::int*, core::int*) →* core::int* fn) → void {}
-static method takeDDD((core::double*, core::double*) →* core::double* fn) → void {}
-static method takeIDI((core::double*, core::int*) →* core::int* fn) → void {}
-static method takeDID((core::int*, core::double*) →* core::double* fn) → void {}
-static method takeIDN((core::double*, core::int*) →* core::num* fn) → void {}
-static method takeDIN((core::int*, core::double*) →* core::num* fn) → void {}
-static method takeIIN((core::int*, core::int*) →* core::num* fn) → void {}
-static method takeDDN((core::double*, core::double*) →* core::num* fn) → void {}
-static method takeNNN((core::num*, core::num*) →* core::num* fn) → void {}
-static method takeOON((core::Object*, core::Object*) →* core::num* fn) → void {}
-static method takeOOO((core::Object*, core::Object*) →* core::num* fn) → void {}
-static method takeOOI((core::Object*, core::Object*) →* core::int* fn) → void {}
-static method takeIIO((core::int*, core::int*) →* core::Object* fn) → void {}
-static method takeDDO((core::double*, core::double*) →* core::Object* fn) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff math::max
-  #C2 = tearoff math::min
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.legacy.transformed.expect
deleted file mode 100644
index dc800ae..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "dart:math" as math;
-import "dart:math";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::num* = dynamic>(self::C::m::T* x, self::C::m::T* y) → self::C::m::T*
-    return null;
-}
-static method test() → dynamic {
-  self::takeIII(#C1);
-  self::takeDDD(#C1);
-  self::takeNNN(#C1);
-  self::takeIDN(#C1);
-  self::takeDIN(#C1);
-  self::takeIIN(#C1);
-  self::takeDDN(#C1);
-  self::takeIIO(#C1);
-  self::takeDDO(#C1);
-  self::takeOOI(#C1);
-  self::takeIDI(#C1);
-  self::takeDID(#C1);
-  self::takeOON(#C1);
-  self::takeOOO(#C1);
-  self::takeIII(#C2);
-  self::takeDDD(#C2);
-  self::takeNNN(#C2);
-  self::takeIDN(#C2);
-  self::takeDIN(#C2);
-  self::takeIIN(#C2);
-  self::takeDDN(#C2);
-  self::takeIIO(#C2);
-  self::takeDDO(#C2);
-  self::takeOOI(#C2);
-  self::takeIDI(#C2);
-  self::takeDID(#C2);
-  self::takeOON(#C2);
-  self::takeOOO(#C2);
-  self::takeIII(new self::C::•().m);
-  self::takeDDD(new self::C::•().m);
-  self::takeNNN(new self::C::•().m);
-  self::takeIDN(new self::C::•().m);
-  self::takeDIN(new self::C::•().m);
-  self::takeIIN(new self::C::•().m);
-  self::takeDDN(new self::C::•().m);
-  self::takeIIO(new self::C::•().m);
-  self::takeDDO(new self::C::•().m);
-  self::takeOON(new self::C::•().m);
-  self::takeOOO(new self::C::•().m);
-  self::takeOOI(new self::C::•().m);
-  self::takeIDI(new self::C::•().m);
-  self::takeDID(new self::C::•().m);
-}
-static method takeIII((core::int*, core::int*) →* core::int* fn) → void {}
-static method takeDDD((core::double*, core::double*) →* core::double* fn) → void {}
-static method takeIDI((core::double*, core::int*) →* core::int* fn) → void {}
-static method takeDID((core::int*, core::double*) →* core::double* fn) → void {}
-static method takeIDN((core::double*, core::int*) →* core::num* fn) → void {}
-static method takeDIN((core::int*, core::double*) →* core::num* fn) → void {}
-static method takeIIN((core::int*, core::int*) →* core::num* fn) → void {}
-static method takeDDN((core::double*, core::double*) →* core::num* fn) → void {}
-static method takeNNN((core::num*, core::num*) →* core::num* fn) → void {}
-static method takeOON((core::Object*, core::Object*) →* core::num* fn) → void {}
-static method takeOOO((core::Object*, core::Object*) →* core::num* fn) → void {}
-static method takeOOI((core::Object*, core::Object*) →* core::int* fn) → void {}
-static method takeIIO((core::int*, core::int*) →* core::Object* fn) → void {}
-static method takeDDO((core::double*, core::double*) →* core::Object* fn) → void {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff math::max
-  #C2 = tearoff math::min
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect
deleted file mode 100644
index a715e41..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(self::C::m::T* x) → self::C::m::T*
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method m<S extends core::Object* = dynamic>(self::D::m::S* x) → self::D::m::S*
-    return x;
-}
-static method main() → dynamic {
-  core::int* y = new self::D::•().m<core::int*>(42);
-  core::print(y);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect
deleted file mode 100644
index a715e41..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(self::C::m::T* x) → self::C::m::T*
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method m<S extends core::Object* = dynamic>(self::D::m::S* x) → self::D::m::S*
-    return x;
-}
-static method main() → dynamic {
-  core::int* y = new self::D::•().m<core::int*>(42);
-  core::print(y);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.legacy.expect
deleted file mode 100644
index a685b6a..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart:8:42: Error: Can't access platform private library.
-// /*error:IMPORT_INTERNAL_LIBRARY*/ import 'dart:_foreign_helper' show JS;
-//                                          ^
-//
-// pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart:11:43: Warning: Method not found: 'JS'.
-//   String x = /*error:INVALID_ASSIGNMENT*/ JS('int', '42');
-//                                           ^^
-//
-// pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart:12:28: Warning: Method not found: 'JS'.
-//   var /*@type=String*/ y = JS('String', '"hello"');
-//                            ^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:_foreign_helper";
-
-static method main() → dynamic {
-  core::String* x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>["int", "42"]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  dynamic y = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>["String", "\"hello\""]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  y = "world";
-  y = 42;
-}
-
-constants  {
-  #C1 = #JS
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.legacy.transformed.expect
deleted file mode 100644
index a685b6a..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart:8:42: Error: Can't access platform private library.
-// /*error:IMPORT_INTERNAL_LIBRARY*/ import 'dart:_foreign_helper' show JS;
-//                                          ^
-//
-// pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart:11:43: Warning: Method not found: 'JS'.
-//   String x = /*error:INVALID_ASSIGNMENT*/ JS('int', '42');
-//                                           ^^
-//
-// pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart:12:28: Warning: Method not found: 'JS'.
-//   var /*@type=String*/ y = JS('String', '"hello"');
-//                            ^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:_foreign_helper";
-
-static method main() → dynamic {
-  core::String* x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>["int", "42"]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  dynamic y = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>["String", "\"hello\""]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  y = "world";
-  y = 42;
-}
-
-constants  {
-  #C1 = #JS
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.legacy.expect
deleted file mode 100644
index 9e482ab..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → void {
-  core::List<core::String*>* y;
-  core::Iterable<core::String*>* x = y.map((core::String* z) → dynamic => 1.0);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.legacy.transformed.expect
deleted file mode 100644
index 9e482ab..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → void {
-  core::List<core::String*>* y;
-  core::Iterable<core::String*>* x = y.map((core::String* z) → dynamic => 1.0);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.legacy.expect
deleted file mode 100644
index cfae823..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method make(core::int* x) → asy::Future<core::int*>*
-  return asy::Future::•<dynamic>(() → dynamic => x);
-static method test() → dynamic {
-  core::Iterable<asy::Future<core::int*>*>* list = <core::int*>[1, 2, 3].map(#C1);
-  asy::Future<core::List<core::int*>*>* results = asy::Future::wait<dynamic>(list);
-  asy::Future<core::String*>* results2 = results.then((core::List<core::int*>* list) → dynamic => list.fold("", (dynamic x, dynamic y) → dynamic => x.+(y.toString())));
-  asy::Future<core::String*>* results3 = results.then((core::List<core::int*>* list) → dynamic => list.fold("", (core::String* x, dynamic y) → dynamic => x.+(y.toString())));
-  asy::Future<core::String*>* results4 = results.then((core::List<core::int*>* list) → dynamic => list.fold<core::String*>("", (dynamic x, dynamic y) → dynamic => x.+(y.toString())));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::make
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.legacy.transformed.expect
deleted file mode 100644
index cfae823..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-static method make(core::int* x) → asy::Future<core::int*>*
-  return asy::Future::•<dynamic>(() → dynamic => x);
-static method test() → dynamic {
-  core::Iterable<asy::Future<core::int*>*>* list = <core::int*>[1, 2, 3].map(#C1);
-  asy::Future<core::List<core::int*>*>* results = asy::Future::wait<dynamic>(list);
-  asy::Future<core::String*>* results2 = results.then((core::List<core::int*>* list) → dynamic => list.fold("", (dynamic x, dynamic y) → dynamic => x.+(y.toString())));
-  asy::Future<core::String*>* results3 = results.then((core::List<core::int*>* list) → dynamic => list.fold("", (core::String* x, dynamic y) → dynamic => x.+(y.toString())));
-  asy::Future<core::String*>* results4 = results.then((core::List<core::int*>* list) → dynamic => list.fold<core::String*>("", (dynamic x, dynamic y) → dynamic => x.+(y.toString())));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::make
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.legacy.expect
deleted file mode 100644
index 24b82f0..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-class Trace extends core::Object {
-  field core::List<self::Frame> frames = <dynamic>[];
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Frame extends core::Object {
-  field core::String location = "";
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::List<self::Trace> traces = <dynamic>[];
-  dynamic longest = traces.map((dynamic trace) → dynamic {
-    return trace.frames.map((dynamic frame) → dynamic => frame.location.length).fold(0, math::max);
-  }).fold(0, math::max);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.legacy.transformed.expect
deleted file mode 100644
index 24b82f0..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:math" as math;
-
-class Trace extends core::Object {
-  field core::List<self::Frame> frames = <dynamic>[];
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Frame extends core::Object {
-  field core::String location = "";
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::List<self::Trace> traces = <dynamic>[];
-  dynamic longest = traces.map((dynamic trace) → dynamic {
-    return trace.frames.map((dynamic frame) → dynamic => frame.location.length).fold(0, math::max);
-  }).fold(0, math::max);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.legacy.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.legacy.expect
deleted file mode 100644
index c8d4275..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = (core::int*) →* core::Iterable<core::num*>*;
-typedef G = (core::double*) →* core::List<core::int*>*;
-static method generic<T extends core::Object* = dynamic>((self::generic::T*) →* dynamic a, (self::generic::T*) →* dynamic b) → self::generic::T*
-  return null;
-static method main() → dynamic {
-  dynamic v = self::generic<dynamic>(((core::int*) →* core::Iterable<core::num*>* f) → dynamic => null, ((core::double*) →* core::List<core::int*>* g) → dynamic => null);
-}
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.legacy.transformed.expect
deleted file mode 100644
index c8d4275..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = (core::int*) →* core::Iterable<core::num*>*;
-typedef G = (core::double*) →* core::List<core::int*>*;
-static method generic<T extends core::Object* = dynamic>((self::generic::T*) →* dynamic a, (self::generic::T*) →* dynamic b) → self::generic::T*
-  return null;
-static method main() → dynamic {
-  dynamic v = self::generic<dynamic>(((core::int*) →* core::Iterable<core::num*>* f) → dynamic => null, ((core::double*) →* core::List<core::int*>* g) → dynamic => null);
-}
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.legacy.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.legacy.expect
deleted file mode 100644
index 1deed2f..0000000
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class C<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::E*>*
-    : super core::Object::•()
-    ;
-  method sort([(self::C::E*, self::C::E*) →* core::int* compare = #C1]) → void {
-    self::C::sort2<dynamic>(this, let final dynamic #t1 = compare in #t1.==(null) ? #C2 : #t1);
-  }
-  static method _compareAny(dynamic a, dynamic b) → core::int* {
-    throw "unimplemented";
-  }
-  static method sort2<E extends core::Object* = dynamic>(self::C<self::C::sort2::E*>* a, (self::C::sort2::E*, self::C::sort2::E*) →* core::int* compare) → void {
-    throw "unimplemented";
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = tearoff self::C::_compareAny
-}
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.legacy.transformed.expect
deleted file mode 100644
index 1deed2f..0000000
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class C<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::E*>*
-    : super core::Object::•()
-    ;
-  method sort([(self::C::E*, self::C::E*) →* core::int* compare = #C1]) → void {
-    self::C::sort2<dynamic>(this, let final dynamic #t1 = compare in #t1.==(null) ? #C2 : #t1);
-  }
-  static method _compareAny(dynamic a, dynamic b) → core::int* {
-    throw "unimplemented";
-  }
-  static method sort2<E extends core::Object* = dynamic>(self::C<self::C::sort2::E*>* a, (self::C::sort2::E*, self::C::sort2::E*) →* core::int* compare) → void {
-    throw "unimplemented";
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = tearoff self::C::_compareAny
-}
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.expect
deleted file mode 100644
index bf74c35..0000000
--- a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.expect
+++ /dev/null
@@ -1,66 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:3: Error: Can't infer a return type for 'f' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   f(x, {y}) {}
-//   ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   f(x, {y}) {}
-//     ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   f(x, {y}) {}
-//         ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:18:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   h(x, {y}) {}
-//         ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   g(x, {y}) {}
-//     ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   g(x, {y}) {}
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method f(self::A* x, {self::A* y = #C1}) → self::A* {}
-  method g(self::A* x, {self::A* y = #C1}) → self::A* {}
-  method h(self::A* x, {self::A* y = #C1}) → self::A* {}
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method f(invalid-type x, {invalid-type y = #C1}) → invalid-type {}
-  method g(invalid-type x, {invalid-type y = #C1}) → self::A* {}
-  method h(self::A* x, {invalid-type y = #C1}) → self::A* {}
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method f(self::I* x, {self::I* y = #C1}) → self::I* {}
-  method g(self::I* x, {self::I* y = #C1}) → self::A* {}
-  method h(self::A* x, {self::I* y = #C1}) → self::A* {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.transformed.expect
deleted file mode 100644
index bf74c35..0000000
--- a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,66 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:3: Error: Can't infer a return type for 'f' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   f(x, {y}) {}
-//   ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   f(x, {y}) {}
-//     ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:16:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   f(x, {y}) {}
-//         ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:18:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   h(x, {y}) {}
-//         ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:5: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   g(x, {y}) {}
-//     ^
-//
-// pkg/front_end/testcases/inference/inconsistent_overrides.dart:17:9: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   g(x, {y}) {}
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method f(self::A* x, {self::A* y = #C1}) → self::A* {}
-  method g(self::A* x, {self::A* y = #C1}) → self::A* {}
-  method h(self::A* x, {self::A* y = #C1}) → self::A* {}
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method f(invalid-type x, {invalid-type y = #C1}) → invalid-type {}
-  method g(invalid-type x, {invalid-type y = #C1}) → self::A* {}
-  method h(self::A* x, {invalid-type y = #C1}) → self::A* {}
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method f(self::I* x, {self::I* y = #C1}) → self::I* {}
-  method g(self::I* x, {self::I* y = #C1}) → self::A* {}
-  method h(self::A* x, {self::I* y = #C1}) → self::A* {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect
deleted file mode 100644
index d3d5c81..0000000
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator []=(dynamic index, dynamic value) → dynamic {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator []=(dynamic index, dynamic value) → void {}
-}
-class D extends self::C implements self::I {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  operator []=(dynamic index, dynamic value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect
deleted file mode 100644
index d3d5c81..0000000
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator []=(dynamic index, dynamic value) → dynamic {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator []=(dynamic index, dynamic value) → void {}
-}
-class D extends self::C implements self::I {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  operator []=(dynamic index, dynamic value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect
deleted file mode 100644
index ccbc46f..0000000
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* index, dynamic value) → dynamic {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* index, dynamic value) → void {}
-}
-class D extends self::C implements self::I {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  operator []=(core::int* index, dynamic value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect
deleted file mode 100644
index ccbc46f..0000000
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* index, dynamic value) → dynamic {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* index, dynamic value) → void {}
-}
-class D extends self::C implements self::I {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  operator []=(core::int* index, dynamic value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.legacy.expect
deleted file mode 100644
index a90e457..0000000
--- a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return self::f();
-  set x(dynamic value) → void {}
-}
-class B extends core::Object {
-  field dynamic x = 0;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method f() → dynamic
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.legacy.transformed.expect
deleted file mode 100644
index a90e457..0000000
--- a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return self::f();
-  set x(dynamic value) → void {}
-}
-class B extends core::Object {
-  field dynamic x = 0;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method f() → dynamic
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.legacy.expect
deleted file mode 100644
index 52e9652..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    this.{self::Test::member} = self::f<dynamic>();
-    this.{self::Test::member}.==(null) ? this.{self::Test::member} = self::f<dynamic>() : null;
-    this.{self::Test::member} = this.{self::Test::member}.+(self::f<dynamic>());
-    this.{self::Test::member} = this.{self::Test::member}.*(self::f<dynamic>());
-    this.{self::Test::member} = this.{self::Test::member}.&(self::f<dynamic>());
-    this.{self::Test::member} = this.{self::Test::member}.-(1);
-    this.{self::Test::member} = this.{self::Test::member}.-(1);
-    dynamic v1 = this.{self::Test::member} = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t1 = this.{self::Test::member} in #t1.==(null) ? this.{self::Test::member} = self::f<dynamic>() : #t1;
-    dynamic v4 = this.{self::Test::member} = this.{self::Test::member}.*(self::f<dynamic>());
-    dynamic v5 = this.{self::Test::member} = this.{self::Test::member}.&(self::f<dynamic>());
-    dynamic v6 = this.{self::Test::member} = this.{self::Test::member}.-(1);
-    dynamic v7 = let final dynamic #t2 = this.{self::Test::member} in let final dynamic #t3 = this.{self::Test::member} = #t2.-(1) in #t2;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.legacy.transformed.expect
deleted file mode 100644
index 52e9652..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    this.{self::Test::member} = self::f<dynamic>();
-    this.{self::Test::member}.==(null) ? this.{self::Test::member} = self::f<dynamic>() : null;
-    this.{self::Test::member} = this.{self::Test::member}.+(self::f<dynamic>());
-    this.{self::Test::member} = this.{self::Test::member}.*(self::f<dynamic>());
-    this.{self::Test::member} = this.{self::Test::member}.&(self::f<dynamic>());
-    this.{self::Test::member} = this.{self::Test::member}.-(1);
-    this.{self::Test::member} = this.{self::Test::member}.-(1);
-    dynamic v1 = this.{self::Test::member} = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t1 = this.{self::Test::member} in #t1.==(null) ? this.{self::Test::member} = self::f<dynamic>() : #t1;
-    dynamic v4 = this.{self::Test::member} = this.{self::Test::member}.*(self::f<dynamic>());
-    dynamic v5 = this.{self::Test::member} = this.{self::Test::member}.&(self::f<dynamic>());
-    dynamic v6 = this.{self::Test::member} = this.{self::Test::member}.-(1);
-    dynamic v7 = let final dynamic #t2 = this.{self::Test::member} in let final dynamic #t3 = this.{self::Test::member} = #t2.-(1) in #t2;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.legacy.expect
deleted file mode 100644
index 89edc17..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Test1 extends core::Object {
-  field core::int* t = null;
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    dynamic v1 = this.{self::Test1::t} = self::getInt();
-    dynamic v4 = let final dynamic #t1 = this.{self::Test1::t} in #t1.==(null) ? this.{self::Test1::t} = self::getInt() : #t1;
-    dynamic v7 = this.{self::Test1::t} = this.{self::Test1::t}.+(self::getInt());
-    dynamic v10 = this.{self::Test1::t} = this.{self::Test1::t}.+(1);
-    dynamic v11 = let final dynamic #t2 = this.{self::Test1::t} in let final dynamic #t3 = this.{self::Test1::t} = #t2.+(1) in #t2;
-  }
-}
-class Test2 extends core::Object {
-  field core::num* t = null;
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    dynamic v1 = this.{self::Test2::t} = self::getInt();
-    dynamic v2 = this.{self::Test2::t} = self::getNum();
-    dynamic v3 = this.{self::Test2::t} = self::getDouble();
-    dynamic v4 = let final dynamic #t4 = this.{self::Test2::t} in #t4.==(null) ? this.{self::Test2::t} = self::getInt() : #t4;
-    dynamic v5 = let final dynamic #t5 = this.{self::Test2::t} in #t5.==(null) ? this.{self::Test2::t} = self::getNum() : #t5;
-    dynamic v6 = let final dynamic #t6 = this.{self::Test2::t} in #t6.==(null) ? this.{self::Test2::t} = self::getDouble() : #t6;
-    dynamic v7 = this.{self::Test2::t} = this.{self::Test2::t}.+(self::getInt());
-    dynamic v8 = this.{self::Test2::t} = this.{self::Test2::t}.+(self::getNum());
-    dynamic v9 = this.{self::Test2::t} = this.{self::Test2::t}.+(self::getDouble());
-    dynamic v10 = this.{self::Test2::t} = this.{self::Test2::t}.+(1);
-    dynamic v11 = let final dynamic #t7 = this.{self::Test2::t} in let final dynamic #t8 = this.{self::Test2::t} = #t7.+(1) in #t7;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* t = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  method test3() → void {
-    dynamic v3 = this.{self::Test3::t} = self::getDouble();
-    dynamic v6 = let final dynamic #t9 = this.{self::Test3::t} in #t9.==(null) ? this.{self::Test3::t} = self::getDouble() : #t9;
-    dynamic v7 = this.{self::Test3::t} = this.{self::Test3::t}.+(self::getInt());
-    dynamic v8 = this.{self::Test3::t} = this.{self::Test3::t}.+(self::getNum());
-    dynamic v9 = this.{self::Test3::t} = this.{self::Test3::t}.+(self::getDouble());
-    dynamic v10 = this.{self::Test3::t} = this.{self::Test3::t}.+(1);
-    dynamic v11 = let final dynamic #t10 = this.{self::Test3::t} in let final dynamic #t11 = this.{self::Test3::t} = #t10.+(1) in #t10;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 89edc17..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Test1 extends core::Object {
-  field core::int* t = null;
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    dynamic v1 = this.{self::Test1::t} = self::getInt();
-    dynamic v4 = let final dynamic #t1 = this.{self::Test1::t} in #t1.==(null) ? this.{self::Test1::t} = self::getInt() : #t1;
-    dynamic v7 = this.{self::Test1::t} = this.{self::Test1::t}.+(self::getInt());
-    dynamic v10 = this.{self::Test1::t} = this.{self::Test1::t}.+(1);
-    dynamic v11 = let final dynamic #t2 = this.{self::Test1::t} in let final dynamic #t3 = this.{self::Test1::t} = #t2.+(1) in #t2;
-  }
-}
-class Test2 extends core::Object {
-  field core::num* t = null;
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    dynamic v1 = this.{self::Test2::t} = self::getInt();
-    dynamic v2 = this.{self::Test2::t} = self::getNum();
-    dynamic v3 = this.{self::Test2::t} = self::getDouble();
-    dynamic v4 = let final dynamic #t4 = this.{self::Test2::t} in #t4.==(null) ? this.{self::Test2::t} = self::getInt() : #t4;
-    dynamic v5 = let final dynamic #t5 = this.{self::Test2::t} in #t5.==(null) ? this.{self::Test2::t} = self::getNum() : #t5;
-    dynamic v6 = let final dynamic #t6 = this.{self::Test2::t} in #t6.==(null) ? this.{self::Test2::t} = self::getDouble() : #t6;
-    dynamic v7 = this.{self::Test2::t} = this.{self::Test2::t}.+(self::getInt());
-    dynamic v8 = this.{self::Test2::t} = this.{self::Test2::t}.+(self::getNum());
-    dynamic v9 = this.{self::Test2::t} = this.{self::Test2::t}.+(self::getDouble());
-    dynamic v10 = this.{self::Test2::t} = this.{self::Test2::t}.+(1);
-    dynamic v11 = let final dynamic #t7 = this.{self::Test2::t} in let final dynamic #t8 = this.{self::Test2::t} = #t7.+(1) in #t7;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* t = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  method test3() → void {
-    dynamic v3 = this.{self::Test3::t} = self::getDouble();
-    dynamic v6 = let final dynamic #t9 = this.{self::Test3::t} in #t9.==(null) ? this.{self::Test3::t} = self::getDouble() : #t9;
-    dynamic v7 = this.{self::Test3::t} = this.{self::Test3::t}.+(self::getInt());
-    dynamic v8 = this.{self::Test3::t} = this.{self::Test3::t}.+(self::getNum());
-    dynamic v9 = this.{self::Test3::t} = this.{self::Test3::t}.+(self::getDouble());
-    dynamic v10 = this.{self::Test3::t} = this.{self::Test3::t}.+(1);
-    dynamic v11 = let final dynamic #t10 = this.{self::Test3::t} in let final dynamic #t11 = this.{self::Test3::t} = #t10.+(1) in #t10;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.legacy.expect
deleted file mode 100644
index 018ec0e..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.legacy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  operator [](self::Index* i) → self::B*
-    return null;
-  operator []=(self::Index* i, self::B* v) → void {}
-  method test() → void {
-    self::Test* t = self::f<dynamic>();
-    t.[]=(self::f<dynamic>(), self::f<dynamic>());
-    let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.[](#t2).==(null) ? let final dynamic #t3 = self::f<dynamic>() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3 : null;
-    let final dynamic #t5 = t in let final dynamic #t6 = self::f<dynamic>() in #t5.[]=(#t6, #t5.[](#t6).+(self::f<dynamic>()));
-    let final dynamic #t7 = t in let final dynamic #t8 = self::f<dynamic>() in #t7.[]=(#t8, #t7.[](#t8).*(self::f<dynamic>()));
-    let final dynamic #t9 = t in let final dynamic #t10 = self::f<dynamic>() in #t9.[]=(#t10, #t9.[](#t10).&(self::f<dynamic>()));
-    let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = #t11.[](#t12).-(1) in let final dynamic #t14 = #t11.[]=(#t12, #t13) in #t13;
-    let final dynamic #t15 = t in let final dynamic #t16 = self::f<dynamic>() in #t15.[]=(#t16, #t15.[](#t16).-(1));
-    dynamic v1 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = self::f<dynamic>() in let final dynamic #t20 = #t17.[]=(#t18, #t19) in #t19;
-    dynamic v2 = let final dynamic #t21 = t in let final dynamic #t22 = self::f<dynamic>() in let final dynamic #t23 = #t21.[](#t22) in #t23.==(null) ? let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = #t21.[]=(#t22, #t24) in #t24 : #t23;
-    dynamic v4 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.[](#t27).*(self::f<dynamic>()) in let final dynamic #t29 = #t26.[]=(#t27, #t28) in #t28;
-    dynamic v5 = let final dynamic #t30 = t in let final dynamic #t31 = self::f<dynamic>() in let final dynamic #t32 = #t30.[](#t31).&(self::f<dynamic>()) in let final dynamic #t33 = #t30.[]=(#t31, #t32) in #t32;
-    dynamic v6 = let final dynamic #t34 = t in let final dynamic #t35 = self::f<dynamic>() in let final dynamic #t36 = #t34.[](#t35).-(1) in let final dynamic #t37 = #t34.[]=(#t35, #t36) in #t36;
-    dynamic v7 = let final dynamic #t38 = t in let final dynamic #t39 = self::f<dynamic>() in let final dynamic #t40 = #t38.[](#t39) in let final dynamic #t41 = #t38.[]=(#t39, #t40.-(1)) in #t40;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.legacy.transformed.expect
deleted file mode 100644
index 018ec0e..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  operator [](self::Index* i) → self::B*
-    return null;
-  operator []=(self::Index* i, self::B* v) → void {}
-  method test() → void {
-    self::Test* t = self::f<dynamic>();
-    t.[]=(self::f<dynamic>(), self::f<dynamic>());
-    let final dynamic #t1 = t in let final dynamic #t2 = self::f<dynamic>() in #t1.[](#t2).==(null) ? let final dynamic #t3 = self::f<dynamic>() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3 : null;
-    let final dynamic #t5 = t in let final dynamic #t6 = self::f<dynamic>() in #t5.[]=(#t6, #t5.[](#t6).+(self::f<dynamic>()));
-    let final dynamic #t7 = t in let final dynamic #t8 = self::f<dynamic>() in #t7.[]=(#t8, #t7.[](#t8).*(self::f<dynamic>()));
-    let final dynamic #t9 = t in let final dynamic #t10 = self::f<dynamic>() in #t9.[]=(#t10, #t9.[](#t10).&(self::f<dynamic>()));
-    let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = #t11.[](#t12).-(1) in let final dynamic #t14 = #t11.[]=(#t12, #t13) in #t13;
-    let final dynamic #t15 = t in let final dynamic #t16 = self::f<dynamic>() in #t15.[]=(#t16, #t15.[](#t16).-(1));
-    dynamic v1 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = self::f<dynamic>() in let final dynamic #t20 = #t17.[]=(#t18, #t19) in #t19;
-    dynamic v2 = let final dynamic #t21 = t in let final dynamic #t22 = self::f<dynamic>() in let final dynamic #t23 = #t21.[](#t22) in #t23.==(null) ? let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = #t21.[]=(#t22, #t24) in #t24 : #t23;
-    dynamic v4 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.[](#t27).*(self::f<dynamic>()) in let final dynamic #t29 = #t26.[]=(#t27, #t28) in #t28;
-    dynamic v5 = let final dynamic #t30 = t in let final dynamic #t31 = self::f<dynamic>() in let final dynamic #t32 = #t30.[](#t31).&(self::f<dynamic>()) in let final dynamic #t33 = #t30.[]=(#t31, #t32) in #t32;
-    dynamic v6 = let final dynamic #t34 = t in let final dynamic #t35 = self::f<dynamic>() in let final dynamic #t36 = #t34.[](#t35).-(1) in let final dynamic #t37 = #t34.[]=(#t35, #t36) in #t36;
-    dynamic v7 = let final dynamic #t38 = t in let final dynamic #t39 = self::f<dynamic>() in let final dynamic #t40 = #t38.[](#t39) in let final dynamic #t41 = #t38.[]=(#t39, #t40.-(1)) in #t40;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.legacy.expect
deleted file mode 100644
index 665bac9..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.legacy.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-  operator [](self::Index* i) → self::B*
-    return null;
-  operator []=(self::Index* i, self::B* v) → void {}
-}
-class Test extends self::Base {
-  synthetic constructor •() → self::Test*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    super.{self::Base::[]=}(self::f<dynamic>(), self::f<dynamic>());
-    let final dynamic #t1 = self::f<dynamic>() in super.{self::Base::[]}(#t1).==(null) ? let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2 : null;
-    let final dynamic #t4 = self::f<dynamic>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).+(self::f<dynamic>()));
-    let final dynamic #t5 = self::f<dynamic>() in super.{self::Base::[]=}(#t5, super.{self::Base::[]}(#t5).*(self::f<dynamic>()));
-    let final dynamic #t6 = self::f<dynamic>() in super.{self::Base::[]=}(#t6, super.{self::Base::[]}(#t6).&(self::f<dynamic>()));
-    let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = super.{self::Base::[]}(#t7).-(1) in let final dynamic #t9 = super.{self::Base::[]=}(#t7, #t8) in #t8;
-    let final dynamic #t10 = self::f<dynamic>() in super.{self::Base::[]=}(#t10, super.{self::Base::[]}(#t10).-(1));
-    dynamic v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = super.{self::Base::[]=}(#t11, #t12) in #t12;
-    dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = super.{self::Base::[]}(#t14) in #t15.==(null) ? let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = super.{self::Base::[]=}(#t14, #t16) in #t16 : #t15;
-    dynamic v4 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = super.{self::Base::[]}(#t18).*(self::f<dynamic>()) in let final dynamic #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
-    dynamic v5 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = super.{self::Base::[]}(#t21).&(self::f<dynamic>()) in let final dynamic #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
-    dynamic v6 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = super.{self::Base::[]}(#t24).-(1) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25) in #t25;
-    dynamic v7 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = super.{self::Base::[]}(#t27) in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28.-(1)) in #t28;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.legacy.transformed.expect
deleted file mode 100644
index 665bac9..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-  operator [](self::Index* i) → self::B*
-    return null;
-  operator []=(self::Index* i, self::B* v) → void {}
-}
-class Test extends self::Base {
-  synthetic constructor •() → self::Test*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    super.{self::Base::[]=}(self::f<dynamic>(), self::f<dynamic>());
-    let final dynamic #t1 = self::f<dynamic>() in super.{self::Base::[]}(#t1).==(null) ? let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2 : null;
-    let final dynamic #t4 = self::f<dynamic>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).+(self::f<dynamic>()));
-    let final dynamic #t5 = self::f<dynamic>() in super.{self::Base::[]=}(#t5, super.{self::Base::[]}(#t5).*(self::f<dynamic>()));
-    let final dynamic #t6 = self::f<dynamic>() in super.{self::Base::[]=}(#t6, super.{self::Base::[]}(#t6).&(self::f<dynamic>()));
-    let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = super.{self::Base::[]}(#t7).-(1) in let final dynamic #t9 = super.{self::Base::[]=}(#t7, #t8) in #t8;
-    let final dynamic #t10 = self::f<dynamic>() in super.{self::Base::[]=}(#t10, super.{self::Base::[]}(#t10).-(1));
-    dynamic v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = super.{self::Base::[]=}(#t11, #t12) in #t12;
-    dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = super.{self::Base::[]}(#t14) in #t15.==(null) ? let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = super.{self::Base::[]=}(#t14, #t16) in #t16 : #t15;
-    dynamic v4 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = super.{self::Base::[]}(#t18).*(self::f<dynamic>()) in let final dynamic #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
-    dynamic v5 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = super.{self::Base::[]}(#t21).&(self::f<dynamic>()) in let final dynamic #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
-    dynamic v6 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = super.{self::Base::[]}(#t24).-(1) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25) in #t25;
-    dynamic v7 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = super.{self::Base::[]}(#t27) in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28.-(1)) in #t28;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.legacy.expect
deleted file mode 100644
index 87640e2..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  operator [](self::Index* i) → self::B*
-    return null;
-  operator []=(self::Index* i, self::B* v) → void {}
-  method test() → void {
-    this.[]=(self::f<dynamic>(), self::f<dynamic>());
-    let final dynamic #t1 = self::f<dynamic>() in this.[](#t1).==(null) ? let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2 : null;
-    let final dynamic #t4 = self::f<dynamic>() in this.[]=(#t4, this.[](#t4).+(self::f<dynamic>()));
-    let final dynamic #t5 = self::f<dynamic>() in this.[]=(#t5, this.[](#t5).*(self::f<dynamic>()));
-    let final dynamic #t6 = self::f<dynamic>() in this.[]=(#t6, this.[](#t6).&(self::f<dynamic>()));
-    let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = this.[](#t7).-(1) in let final dynamic #t9 = this.[]=(#t7, #t8) in #t8;
-    let final dynamic #t10 = self::f<dynamic>() in this.[]=(#t10, this.[](#t10).-(1));
-    dynamic v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = this.[]=(#t11, #t12) in #t12;
-    dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = this.[](#t14) in #t15.==(null) ? let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = this.[]=(#t14, #t16) in #t16 : #t15;
-    dynamic v4 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = this.[](#t18).*(self::f<dynamic>()) in let final dynamic #t20 = this.[]=(#t18, #t19) in #t19;
-    dynamic v5 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = this.[](#t21).&(self::f<dynamic>()) in let final dynamic #t23 = this.[]=(#t21, #t22) in #t22;
-    dynamic v6 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = this.[](#t24).-(1) in let final dynamic #t26 = this.[]=(#t24, #t25) in #t25;
-    dynamic v7 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = this.[](#t27) in let final dynamic #t29 = this.[]=(#t27, #t28.-(1)) in #t28;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.legacy.transformed.expect
deleted file mode 100644
index 87640e2..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  operator [](self::Index* i) → self::B*
-    return null;
-  operator []=(self::Index* i, self::B* v) → void {}
-  method test() → void {
-    this.[]=(self::f<dynamic>(), self::f<dynamic>());
-    let final dynamic #t1 = self::f<dynamic>() in this.[](#t1).==(null) ? let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2 : null;
-    let final dynamic #t4 = self::f<dynamic>() in this.[]=(#t4, this.[](#t4).+(self::f<dynamic>()));
-    let final dynamic #t5 = self::f<dynamic>() in this.[]=(#t5, this.[](#t5).*(self::f<dynamic>()));
-    let final dynamic #t6 = self::f<dynamic>() in this.[]=(#t6, this.[](#t6).&(self::f<dynamic>()));
-    let final dynamic #t7 = self::f<dynamic>() in let final dynamic #t8 = this.[](#t7).-(1) in let final dynamic #t9 = this.[]=(#t7, #t8) in #t8;
-    let final dynamic #t10 = self::f<dynamic>() in this.[]=(#t10, this.[](#t10).-(1));
-    dynamic v1 = let final dynamic #t11 = self::f<dynamic>() in let final dynamic #t12 = self::f<dynamic>() in let final dynamic #t13 = this.[]=(#t11, #t12) in #t12;
-    dynamic v2 = let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = this.[](#t14) in #t15.==(null) ? let final dynamic #t16 = self::f<dynamic>() in let final dynamic #t17 = this.[]=(#t14, #t16) in #t16 : #t15;
-    dynamic v4 = let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = this.[](#t18).*(self::f<dynamic>()) in let final dynamic #t20 = this.[]=(#t18, #t19) in #t19;
-    dynamic v5 = let final dynamic #t21 = self::f<dynamic>() in let final dynamic #t22 = this.[](#t21).&(self::f<dynamic>()) in let final dynamic #t23 = this.[]=(#t21, #t22) in #t22;
-    dynamic v6 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = this.[](#t24).-(1) in let final dynamic #t26 = this.[]=(#t24, #t25) in #t25;
-    dynamic v7 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = this.[](#t27) in let final dynamic #t29 = this.[]=(#t27, #t28.-(1)) in #t28;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.legacy.expect
deleted file mode 100644
index 0c4e454..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → void {
-  self::B* local;
-  local = self::f<dynamic>();
-  local.==(null) ? local = self::f<dynamic>() : null;
-  local = local.+(self::f<dynamic>());
-  local = local.*(self::f<dynamic>());
-  local = local.&(self::f<dynamic>());
-  local = local.-(1);
-  local = local.-(1);
-  dynamic v1 = local = self::f<dynamic>();
-  dynamic v2 = let final dynamic #t1 = local in #t1.==(null) ? local = self::f<dynamic>() : #t1;
-  dynamic v4 = local = local.*(self::f<dynamic>());
-  dynamic v5 = local = local.&(self::f<dynamic>());
-  dynamic v6 = local = local.-(1);
-  dynamic v7 = let final dynamic #t2 = local in let final dynamic #t3 = local = #t2.-(1) in #t2;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.legacy.transformed.expect
deleted file mode 100644
index 0c4e454..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → void {
-  self::B* local;
-  local = self::f<dynamic>();
-  local.==(null) ? local = self::f<dynamic>() : null;
-  local = local.+(self::f<dynamic>());
-  local = local.*(self::f<dynamic>());
-  local = local.&(self::f<dynamic>());
-  local = local.-(1);
-  local = local.-(1);
-  dynamic v1 = local = self::f<dynamic>();
-  dynamic v2 = let final dynamic #t1 = local in #t1.==(null) ? local = self::f<dynamic>() : #t1;
-  dynamic v4 = local = local.*(self::f<dynamic>());
-  dynamic v5 = local = local.&(self::f<dynamic>());
-  dynamic v6 = local = local.-(1);
-  dynamic v7 = let final dynamic #t2 = local in let final dynamic #t3 = local = #t2.-(1) in #t2;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.legacy.expect
deleted file mode 100644
index 10eba5f..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method test1(core::int* t) → void {
-  dynamic v1 = t = self::getInt();
-  dynamic v4 = let final dynamic #t1 = t in #t1.==(null) ? t = self::getInt() : #t1;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t2 = t in let final dynamic #t3 = t = #t2.+(1) in #t2;
-}
-static method test2(core::num* t) → void {
-  dynamic v1 = t = self::getInt();
-  dynamic v2 = t = self::getNum();
-  dynamic v3 = t = self::getDouble();
-  dynamic v4 = let final dynamic #t4 = t in #t4.==(null) ? t = self::getInt() : #t4;
-  dynamic v5 = let final dynamic #t5 = t in #t5.==(null) ? t = self::getNum() : #t5;
-  dynamic v6 = let final dynamic #t6 = t in #t6.==(null) ? t = self::getDouble() : #t6;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v8 = t = t.+(self::getNum());
-  dynamic v9 = t = t.+(self::getDouble());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t7 = t in let final dynamic #t8 = t = #t7.+(1) in #t7;
-}
-static method test3(core::double* t) → void {
-  dynamic v3 = t = self::getDouble();
-  dynamic v6 = let final dynamic #t9 = t in #t9.==(null) ? t = self::getDouble() : #t9;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v8 = t = t.+(self::getNum());
-  dynamic v9 = t = t.+(self::getDouble());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t10 = t in let final dynamic #t11 = t = #t10.+(1) in #t10;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 10eba5f..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method test1(core::int* t) → void {
-  dynamic v1 = t = self::getInt();
-  dynamic v4 = let final dynamic #t1 = t in #t1.==(null) ? t = self::getInt() : #t1;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t2 = t in let final dynamic #t3 = t = #t2.+(1) in #t2;
-}
-static method test2(core::num* t) → void {
-  dynamic v1 = t = self::getInt();
-  dynamic v2 = t = self::getNum();
-  dynamic v3 = t = self::getDouble();
-  dynamic v4 = let final dynamic #t4 = t in #t4.==(null) ? t = self::getInt() : #t4;
-  dynamic v5 = let final dynamic #t5 = t in #t5.==(null) ? t = self::getNum() : #t5;
-  dynamic v6 = let final dynamic #t6 = t in #t6.==(null) ? t = self::getDouble() : #t6;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v8 = t = t.+(self::getNum());
-  dynamic v9 = t = t.+(self::getDouble());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t7 = t in let final dynamic #t8 = t = #t7.+(1) in #t7;
-}
-static method test3(core::double* t) → void {
-  dynamic v3 = t = self::getDouble();
-  dynamic v6 = let final dynamic #t9 = t in #t9.==(null) ? t = self::getDouble() : #t9;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v8 = t = t.+(self::getNum());
-  dynamic v9 = t = t.+(self::getDouble());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t10 = t in let final dynamic #t11 = t = #t10.+(1) in #t10;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.legacy.expect
deleted file mode 100644
index 0f62e41..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  static method test(self::Test* t) → void {
-    t.member = self::f<dynamic>();
-    let final dynamic #t1 = t in #t1.member.==(null) ? #t1.member = self::f<dynamic>() : null;
-    let final dynamic #t2 = t in #t2.member = #t2.member.+(self::f<dynamic>());
-    let final dynamic #t3 = t in #t3.member = #t3.member.*(self::f<dynamic>());
-    let final dynamic #t4 = t in #t4.member = #t4.member.&(self::f<dynamic>());
-    let final dynamic #t5 = t in #t5.member = #t5.member.-(1);
-    let final dynamic #t6 = t in #t6.member = #t6.member.-(1);
-    dynamic v1 = t.member = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t7 = t in let final dynamic #t8 = #t7.member in #t8.==(null) ? #t7.member = self::f<dynamic>() : #t8;
-    dynamic v4 = let final dynamic #t9 = t in #t9.member = #t9.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t10 = t in #t10.member = #t10.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t11 = t in #t11.member = #t11.member.-(1);
-    dynamic v7 = let final dynamic #t12 = t in let final dynamic #t13 = #t12.member in let final dynamic #t14 = #t12.member = #t13.-(1) in #t13;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.legacy.transformed.expect
deleted file mode 100644
index 0f62e41..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  static method test(self::Test* t) → void {
-    t.member = self::f<dynamic>();
-    let final dynamic #t1 = t in #t1.member.==(null) ? #t1.member = self::f<dynamic>() : null;
-    let final dynamic #t2 = t in #t2.member = #t2.member.+(self::f<dynamic>());
-    let final dynamic #t3 = t in #t3.member = #t3.member.*(self::f<dynamic>());
-    let final dynamic #t4 = t in #t4.member = #t4.member.&(self::f<dynamic>());
-    let final dynamic #t5 = t in #t5.member = #t5.member.-(1);
-    let final dynamic #t6 = t in #t6.member = #t6.member.-(1);
-    dynamic v1 = t.member = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t7 = t in let final dynamic #t8 = #t7.member in #t8.==(null) ? #t7.member = self::f<dynamic>() : #t8;
-    dynamic v4 = let final dynamic #t9 = t in #t9.member = #t9.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t10 = t in #t10.member = #t10.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t11 = t in #t11.member = #t11.member.-(1);
-    dynamic v7 = let final dynamic #t12 = t in let final dynamic #t13 = #t12.member in let final dynamic #t14 = #t12.member = #t13.-(1) in #t13;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.legacy.expect
deleted file mode 100644
index 17f795f..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  static method test(self::Test* t) → void {
-    let final dynamic #t1 = t in #t1.==(null) ? null : #t1.member = self::f<dynamic>();
-    let final dynamic #t2 = t in #t2.==(null) ? null : #t2.member.==(null) ? #t2.member = self::f<dynamic>() : null;
-    let final dynamic #t3 = t in #t3.==(null) ? null : #t3.member = #t3.member.+(self::f<dynamic>());
-    let final dynamic #t4 = t in #t4.==(null) ? null : #t4.member = #t4.member.*(self::f<dynamic>());
-    let final dynamic #t5 = t in #t5.==(null) ? null : #t5.member = #t5.member.&(self::f<dynamic>());
-    let final dynamic #t6 = t in #t6.==(null) ? null : #t6.member = #t6.member.-(1);
-    let final dynamic #t7 = t in #t7.==(null) ? null : #t7.member = #t7.member.-(1);
-    dynamic v1 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.member = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t9 = t in #t9.==(null) ? null : let final dynamic #t10 = #t9.member in #t10.==(null) ? #t9.member = self::f<dynamic>() : #t10;
-    dynamic v4 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.member = #t11.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t12 = t in #t12.==(null) ? null : #t12.member = #t12.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.member = #t13.member.-(1);
-    dynamic v7 = let final dynamic #t14 = t in #t14.==(null) ? null : let final dynamic #t15 = #t14.member in let final dynamic #t16 = #t14.member = #t15.-(1) in #t15;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.legacy.transformed.expect
deleted file mode 100644
index 17f795f..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Test extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Test*
-    : super core::Object::•()
-    ;
-  static method test(self::Test* t) → void {
-    let final dynamic #t1 = t in #t1.==(null) ? null : #t1.member = self::f<dynamic>();
-    let final dynamic #t2 = t in #t2.==(null) ? null : #t2.member.==(null) ? #t2.member = self::f<dynamic>() : null;
-    let final dynamic #t3 = t in #t3.==(null) ? null : #t3.member = #t3.member.+(self::f<dynamic>());
-    let final dynamic #t4 = t in #t4.==(null) ? null : #t4.member = #t4.member.*(self::f<dynamic>());
-    let final dynamic #t5 = t in #t5.==(null) ? null : #t5.member = #t5.member.&(self::f<dynamic>());
-    let final dynamic #t6 = t in #t6.==(null) ? null : #t6.member = #t6.member.-(1);
-    let final dynamic #t7 = t in #t7.==(null) ? null : #t7.member = #t7.member.-(1);
-    dynamic v1 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.member = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t9 = t in #t9.==(null) ? null : let final dynamic #t10 = #t9.member in #t10.==(null) ? #t9.member = self::f<dynamic>() : #t10;
-    dynamic v4 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.member = #t11.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t12 = t in #t12.==(null) ? null : #t12.member = #t12.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.member = #t13.member.-(1);
-    dynamic v7 = let final dynamic #t14 = t in #t14.==(null) ? null : let final dynamic #t15 = #t14.member in let final dynamic #t16 = #t14.member = #t15.-(1) in #t15;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.legacy.expect
deleted file mode 100644
index 07c651e..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Test1 extends core::Object {
-  field core::int* prop = null;
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  static method test(self::Test1* t) → void {
-    dynamic v1 = let final dynamic #t1 = t in #t1.==(null) ? null : #t1.prop = self::getInt();
-    dynamic v4 = let final dynamic #t2 = t in #t2.==(null) ? null : let final dynamic #t3 = #t2.prop in #t3.==(null) ? #t2.prop = self::getInt() : #t3;
-    dynamic v7 = let final dynamic #t4 = t in #t4.==(null) ? null : #t4.prop = #t4.prop.+(self::getInt());
-    dynamic v10 = let final dynamic #t5 = t in #t5.==(null) ? null : #t5.prop = #t5.prop.+(1);
-    dynamic v11 = let final dynamic #t6 = t in #t6.==(null) ? null : let final dynamic #t7 = #t6.prop in let final dynamic #t8 = #t6.prop = #t7.+(1) in #t7;
-  }
-}
-class Test2 extends core::Object {
-  field core::num* prop = null;
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  static method test(self::Test2* t) → void {
-    dynamic v1 = let final dynamic #t9 = t in #t9.==(null) ? null : #t9.prop = self::getInt();
-    dynamic v2 = let final dynamic #t10 = t in #t10.==(null) ? null : #t10.prop = self::getNum();
-    dynamic v3 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.prop = self::getDouble();
-    dynamic v4 = let final dynamic #t12 = t in #t12.==(null) ? null : let final dynamic #t13 = #t12.prop in #t13.==(null) ? #t12.prop = self::getInt() : #t13;
-    dynamic v5 = let final dynamic #t14 = t in #t14.==(null) ? null : let final dynamic #t15 = #t14.prop in #t15.==(null) ? #t14.prop = self::getNum() : #t15;
-    dynamic v6 = let final dynamic #t16 = t in #t16.==(null) ? null : let final dynamic #t17 = #t16.prop in #t17.==(null) ? #t16.prop = self::getDouble() : #t17;
-    dynamic v7 = let final dynamic #t18 = t in #t18.==(null) ? null : #t18.prop = #t18.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t19 = t in #t19.==(null) ? null : #t19.prop = #t19.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t20 = t in #t20.==(null) ? null : #t20.prop = #t20.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t21 = t in #t21.==(null) ? null : #t21.prop = #t21.prop.+(1);
-    dynamic v11 = let final dynamic #t22 = t in #t22.==(null) ? null : let final dynamic #t23 = #t22.prop in let final dynamic #t24 = #t22.prop = #t23.+(1) in #t23;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* prop = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  static method test3(self::Test3* t) → void {
-    dynamic v3 = let final dynamic #t25 = t in #t25.==(null) ? null : #t25.prop = self::getDouble();
-    dynamic v6 = let final dynamic #t26 = t in #t26.==(null) ? null : let final dynamic #t27 = #t26.prop in #t27.==(null) ? #t26.prop = self::getDouble() : #t27;
-    dynamic v7 = let final dynamic #t28 = t in #t28.==(null) ? null : #t28.prop = #t28.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t29 = t in #t29.==(null) ? null : #t29.prop = #t29.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t30 = t in #t30.==(null) ? null : #t30.prop = #t30.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t31 = t in #t31.==(null) ? null : #t31.prop = #t31.prop.+(1);
-    dynamic v11 = let final dynamic #t32 = t in #t32.==(null) ? null : let final dynamic #t33 = #t32.prop in let final dynamic #t34 = #t32.prop = #t33.+(1) in #t33;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 07c651e..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Test1 extends core::Object {
-  field core::int* prop = null;
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  static method test(self::Test1* t) → void {
-    dynamic v1 = let final dynamic #t1 = t in #t1.==(null) ? null : #t1.prop = self::getInt();
-    dynamic v4 = let final dynamic #t2 = t in #t2.==(null) ? null : let final dynamic #t3 = #t2.prop in #t3.==(null) ? #t2.prop = self::getInt() : #t3;
-    dynamic v7 = let final dynamic #t4 = t in #t4.==(null) ? null : #t4.prop = #t4.prop.+(self::getInt());
-    dynamic v10 = let final dynamic #t5 = t in #t5.==(null) ? null : #t5.prop = #t5.prop.+(1);
-    dynamic v11 = let final dynamic #t6 = t in #t6.==(null) ? null : let final dynamic #t7 = #t6.prop in let final dynamic #t8 = #t6.prop = #t7.+(1) in #t7;
-  }
-}
-class Test2 extends core::Object {
-  field core::num* prop = null;
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  static method test(self::Test2* t) → void {
-    dynamic v1 = let final dynamic #t9 = t in #t9.==(null) ? null : #t9.prop = self::getInt();
-    dynamic v2 = let final dynamic #t10 = t in #t10.==(null) ? null : #t10.prop = self::getNum();
-    dynamic v3 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.prop = self::getDouble();
-    dynamic v4 = let final dynamic #t12 = t in #t12.==(null) ? null : let final dynamic #t13 = #t12.prop in #t13.==(null) ? #t12.prop = self::getInt() : #t13;
-    dynamic v5 = let final dynamic #t14 = t in #t14.==(null) ? null : let final dynamic #t15 = #t14.prop in #t15.==(null) ? #t14.prop = self::getNum() : #t15;
-    dynamic v6 = let final dynamic #t16 = t in #t16.==(null) ? null : let final dynamic #t17 = #t16.prop in #t17.==(null) ? #t16.prop = self::getDouble() : #t17;
-    dynamic v7 = let final dynamic #t18 = t in #t18.==(null) ? null : #t18.prop = #t18.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t19 = t in #t19.==(null) ? null : #t19.prop = #t19.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t20 = t in #t20.==(null) ? null : #t20.prop = #t20.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t21 = t in #t21.==(null) ? null : #t21.prop = #t21.prop.+(1);
-    dynamic v11 = let final dynamic #t22 = t in #t22.==(null) ? null : let final dynamic #t23 = #t22.prop in let final dynamic #t24 = #t22.prop = #t23.+(1) in #t23;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* prop = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  static method test3(self::Test3* t) → void {
-    dynamic v3 = let final dynamic #t25 = t in #t25.==(null) ? null : #t25.prop = self::getDouble();
-    dynamic v6 = let final dynamic #t26 = t in #t26.==(null) ? null : let final dynamic #t27 = #t26.prop in #t27.==(null) ? #t26.prop = self::getDouble() : #t27;
-    dynamic v7 = let final dynamic #t28 = t in #t28.==(null) ? null : #t28.prop = #t28.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t29 = t in #t29.==(null) ? null : #t29.prop = #t29.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t30 = t in #t30.==(null) ? null : #t30.prop = #t30.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t31 = t in #t31.==(null) ? null : #t31.prop = #t31.prop.+(1);
-    dynamic v11 = let final dynamic #t32 = t in #t32.==(null) ? null : let final dynamic #t33 = #t32.prop in let final dynamic #t34 = #t32.prop = #t33.+(1) in #t33;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.legacy.expect
deleted file mode 100644
index 394cc10..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.legacy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Base extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Test extends self::Base {
-  synthetic constructor •() → self::Test*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    super.{self::Base::member} = self::f<dynamic>();
-    super.{self::Base::member}.==(null) ? super.{self::Base::member} = self::f<dynamic>() : null;
-    super.{self::Base::member} = super.{self::Base::member}.+(self::f<dynamic>());
-    super.{self::Base::member} = super.{self::Base::member}.*(self::f<dynamic>());
-    super.{self::Base::member} = super.{self::Base::member}.&(self::f<dynamic>());
-    super.{self::Base::member} = super.{self::Base::member}.-(1);
-    super.{self::Base::member} = super.{self::Base::member}.-(1);
-    dynamic v1 = super.{self::Base::member} = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t1 = super.{self::Base::member} in #t1.==(null) ? super.{self::Base::member} = self::f<dynamic>() : #t1;
-    dynamic v4 = super.{self::Base::member} = super.{self::Base::member}.*(self::f<dynamic>());
-    dynamic v5 = super.{self::Base::member} = super.{self::Base::member}.&(self::f<dynamic>());
-    dynamic v6 = super.{self::Base::member} = super.{self::Base::member}.-(1);
-    dynamic v7 = let final dynamic #t2 = super.{self::Base::member} in let final dynamic #t3 = super.{self::Base::member} = #t2.-(1) in #t2;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.legacy.transformed.expect
deleted file mode 100644
index 394cc10..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class Base extends core::Object {
-  field self::B* member = null;
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Test extends self::Base {
-  synthetic constructor •() → self::Test*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    super.{self::Base::member} = self::f<dynamic>();
-    super.{self::Base::member}.==(null) ? super.{self::Base::member} = self::f<dynamic>() : null;
-    super.{self::Base::member} = super.{self::Base::member}.+(self::f<dynamic>());
-    super.{self::Base::member} = super.{self::Base::member}.*(self::f<dynamic>());
-    super.{self::Base::member} = super.{self::Base::member}.&(self::f<dynamic>());
-    super.{self::Base::member} = super.{self::Base::member}.-(1);
-    super.{self::Base::member} = super.{self::Base::member}.-(1);
-    dynamic v1 = super.{self::Base::member} = self::f<dynamic>();
-    dynamic v2 = let final dynamic #t1 = super.{self::Base::member} in #t1.==(null) ? super.{self::Base::member} = self::f<dynamic>() : #t1;
-    dynamic v4 = super.{self::Base::member} = super.{self::Base::member}.*(self::f<dynamic>());
-    dynamic v5 = super.{self::Base::member} = super.{self::Base::member}.&(self::f<dynamic>());
-    dynamic v6 = super.{self::Base::member} = super.{self::Base::member}.-(1);
-    dynamic v7 = let final dynamic #t2 = super.{self::Base::member} in let final dynamic #t3 = super.{self::Base::member} = #t2.-(1) in #t2;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.legacy.expect
deleted file mode 100644
index dad42a6..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Base extends core::Object {
-  field core::int* intProp = null;
-  field core::num* numProp = null;
-  field core::double* doubleProp = null;
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Test1 extends self::Base {
-  synthetic constructor •() → self::Test1*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = super.{self::Base::intProp} = self::getInt();
-    dynamic v4 = let final dynamic #t1 = super.{self::Base::intProp} in #t1.==(null) ? super.{self::Base::intProp} = self::getInt() : #t1;
-    dynamic v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(self::getInt());
-    dynamic v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(1);
-    dynamic v11 = let final dynamic #t2 = super.{self::Base::intProp} in let final dynamic #t3 = super.{self::Base::intProp} = #t2.+(1) in #t2;
-  }
-}
-class Test2 extends self::Base {
-  synthetic constructor •() → self::Test2*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = super.{self::Base::numProp} = self::getInt();
-    dynamic v2 = super.{self::Base::numProp} = self::getNum();
-    dynamic v3 = super.{self::Base::numProp} = self::getDouble();
-    dynamic v4 = let final dynamic #t4 = super.{self::Base::numProp} in #t4.==(null) ? super.{self::Base::numProp} = self::getInt() : #t4;
-    dynamic v5 = let final dynamic #t5 = super.{self::Base::numProp} in #t5.==(null) ? super.{self::Base::numProp} = self::getNum() : #t5;
-    dynamic v6 = let final dynamic #t6 = super.{self::Base::numProp} in #t6.==(null) ? super.{self::Base::numProp} = self::getDouble() : #t6;
-    dynamic v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(self::getInt());
-    dynamic v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(self::getNum());
-    dynamic v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(self::getDouble());
-    dynamic v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(1);
-    dynamic v11 = let final dynamic #t7 = super.{self::Base::numProp} in let final dynamic #t8 = super.{self::Base::numProp} = #t7.+(1) in #t7;
-  }
-}
-class Test3 extends self::Base {
-  synthetic constructor •() → self::Test3*
-    : super self::Base::•()
-    ;
-  method test3() → void {
-    dynamic v3 = super.{self::Base::doubleProp} = self::getDouble();
-    dynamic v6 = let final dynamic #t9 = super.{self::Base::doubleProp} in #t9.==(null) ? super.{self::Base::doubleProp} = self::getDouble() : #t9;
-    dynamic v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(self::getInt());
-    dynamic v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(self::getNum());
-    dynamic v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(self::getDouble());
-    dynamic v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(1);
-    dynamic v11 = let final dynamic #t10 = super.{self::Base::doubleProp} in let final dynamic #t11 = super.{self::Base::doubleProp} = #t10.+(1) in #t10;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index dad42a6..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Base extends core::Object {
-  field core::int* intProp = null;
-  field core::num* numProp = null;
-  field core::double* doubleProp = null;
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Test1 extends self::Base {
-  synthetic constructor •() → self::Test1*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = super.{self::Base::intProp} = self::getInt();
-    dynamic v4 = let final dynamic #t1 = super.{self::Base::intProp} in #t1.==(null) ? super.{self::Base::intProp} = self::getInt() : #t1;
-    dynamic v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(self::getInt());
-    dynamic v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(1);
-    dynamic v11 = let final dynamic #t2 = super.{self::Base::intProp} in let final dynamic #t3 = super.{self::Base::intProp} = #t2.+(1) in #t2;
-  }
-}
-class Test2 extends self::Base {
-  synthetic constructor •() → self::Test2*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = super.{self::Base::numProp} = self::getInt();
-    dynamic v2 = super.{self::Base::numProp} = self::getNum();
-    dynamic v3 = super.{self::Base::numProp} = self::getDouble();
-    dynamic v4 = let final dynamic #t4 = super.{self::Base::numProp} in #t4.==(null) ? super.{self::Base::numProp} = self::getInt() : #t4;
-    dynamic v5 = let final dynamic #t5 = super.{self::Base::numProp} in #t5.==(null) ? super.{self::Base::numProp} = self::getNum() : #t5;
-    dynamic v6 = let final dynamic #t6 = super.{self::Base::numProp} in #t6.==(null) ? super.{self::Base::numProp} = self::getDouble() : #t6;
-    dynamic v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(self::getInt());
-    dynamic v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(self::getNum());
-    dynamic v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(self::getDouble());
-    dynamic v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.+(1);
-    dynamic v11 = let final dynamic #t7 = super.{self::Base::numProp} in let final dynamic #t8 = super.{self::Base::numProp} = #t7.+(1) in #t7;
-  }
-}
-class Test3 extends self::Base {
-  synthetic constructor •() → self::Test3*
-    : super self::Base::•()
-    ;
-  method test3() → void {
-    dynamic v3 = super.{self::Base::doubleProp} = self::getDouble();
-    dynamic v6 = let final dynamic #t9 = super.{self::Base::doubleProp} in #t9.==(null) ? super.{self::Base::doubleProp} = self::getDouble() : #t9;
-    dynamic v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(self::getInt());
-    dynamic v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(self::getNum());
-    dynamic v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(self::getDouble());
-    dynamic v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.+(1);
-    dynamic v11 = let final dynamic #t10 = super.{self::Base::doubleProp} in let final dynamic #t11 = super.{self::Base::doubleProp} = #t10.+(1) in #t10;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.legacy.expect
deleted file mode 100644
index 6177905..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Test1 extends core::Object {
-  field core::int* prop = null;
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  static method test(self::Test1* t) → void {
-    dynamic v1 = t.prop = self::getInt();
-    dynamic v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.prop in #t2.==(null) ? #t1.prop = self::getInt() : #t2;
-    dynamic v7 = let final dynamic #t3 = t in #t3.prop = #t3.prop.+(self::getInt());
-    dynamic v10 = let final dynamic #t4 = t in #t4.prop = #t4.prop.+(1);
-    dynamic v11 = let final dynamic #t5 = t in let final dynamic #t6 = #t5.prop in let final dynamic #t7 = #t5.prop = #t6.+(1) in #t6;
-  }
-}
-class Test2 extends core::Object {
-  field core::num* prop = null;
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  static method test(self::Test2* t) → void {
-    dynamic v1 = t.prop = self::getInt();
-    dynamic v2 = t.prop = self::getNum();
-    dynamic v3 = t.prop = self::getDouble();
-    dynamic v4 = let final dynamic #t8 = t in let final dynamic #t9 = #t8.prop in #t9.==(null) ? #t8.prop = self::getInt() : #t9;
-    dynamic v5 = let final dynamic #t10 = t in let final dynamic #t11 = #t10.prop in #t11.==(null) ? #t10.prop = self::getNum() : #t11;
-    dynamic v6 = let final dynamic #t12 = t in let final dynamic #t13 = #t12.prop in #t13.==(null) ? #t12.prop = self::getDouble() : #t13;
-    dynamic v7 = let final dynamic #t14 = t in #t14.prop = #t14.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t15 = t in #t15.prop = #t15.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t16 = t in #t16.prop = #t16.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t17 = t in #t17.prop = #t17.prop.+(1);
-    dynamic v11 = let final dynamic #t18 = t in let final dynamic #t19 = #t18.prop in let final dynamic #t20 = #t18.prop = #t19.+(1) in #t19;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* prop = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  static method test3(self::Test3* t) → void {
-    dynamic v3 = t.prop = self::getDouble();
-    dynamic v6 = let final dynamic #t21 = t in let final dynamic #t22 = #t21.prop in #t22.==(null) ? #t21.prop = self::getDouble() : #t22;
-    dynamic v7 = let final dynamic #t23 = t in #t23.prop = #t23.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t24 = t in #t24.prop = #t24.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t25 = t in #t25.prop = #t25.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t26 = t in #t26.prop = #t26.prop.+(1);
-    dynamic v11 = let final dynamic #t27 = t in let final dynamic #t28 = #t27.prop in let final dynamic #t29 = #t27.prop = #t28.+(1) in #t28;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 6177905..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Test1 extends core::Object {
-  field core::int* prop = null;
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  static method test(self::Test1* t) → void {
-    dynamic v1 = t.prop = self::getInt();
-    dynamic v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.prop in #t2.==(null) ? #t1.prop = self::getInt() : #t2;
-    dynamic v7 = let final dynamic #t3 = t in #t3.prop = #t3.prop.+(self::getInt());
-    dynamic v10 = let final dynamic #t4 = t in #t4.prop = #t4.prop.+(1);
-    dynamic v11 = let final dynamic #t5 = t in let final dynamic #t6 = #t5.prop in let final dynamic #t7 = #t5.prop = #t6.+(1) in #t6;
-  }
-}
-class Test2 extends core::Object {
-  field core::num* prop = null;
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  static method test(self::Test2* t) → void {
-    dynamic v1 = t.prop = self::getInt();
-    dynamic v2 = t.prop = self::getNum();
-    dynamic v3 = t.prop = self::getDouble();
-    dynamic v4 = let final dynamic #t8 = t in let final dynamic #t9 = #t8.prop in #t9.==(null) ? #t8.prop = self::getInt() : #t9;
-    dynamic v5 = let final dynamic #t10 = t in let final dynamic #t11 = #t10.prop in #t11.==(null) ? #t10.prop = self::getNum() : #t11;
-    dynamic v6 = let final dynamic #t12 = t in let final dynamic #t13 = #t12.prop in #t13.==(null) ? #t12.prop = self::getDouble() : #t13;
-    dynamic v7 = let final dynamic #t14 = t in #t14.prop = #t14.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t15 = t in #t15.prop = #t15.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t16 = t in #t16.prop = #t16.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t17 = t in #t17.prop = #t17.prop.+(1);
-    dynamic v11 = let final dynamic #t18 = t in let final dynamic #t19 = #t18.prop in let final dynamic #t20 = #t18.prop = #t19.+(1) in #t19;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* prop = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  static method test3(self::Test3* t) → void {
-    dynamic v3 = t.prop = self::getDouble();
-    dynamic v6 = let final dynamic #t21 = t in let final dynamic #t22 = #t21.prop in #t22.==(null) ? #t21.prop = self::getDouble() : #t22;
-    dynamic v7 = let final dynamic #t23 = t in #t23.prop = #t23.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t24 = t in #t24.prop = #t24.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t25 = t in #t25.prop = #t25.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t26 = t in #t26.prop = #t26.prop.+(1);
-    dynamic v11 = let final dynamic #t27 = t in let final dynamic #t28 = #t27.prop in let final dynamic #t29 = #t27.prop = #t28.+(1) in #t28;
-  }
-}
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.legacy.expect
deleted file mode 100644
index 199d8bf..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field self::A* a = new self::A::•();
-static field dynamic c = 0;
-static method main() → dynamic {
-  self::a;
-  self::c;
-}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.legacy.transformed.expect
deleted file mode 100644
index 199d8bf..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field self::A* a = new self::A::•();
-static field dynamic c = 0;
-static method main() → dynamic {
-  self::a;
-  self::c;
-}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.legacy.expect
deleted file mode 100644
index ddb5870..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.legacy.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  static field self::B* staticVariable = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static field self::B* topLevelVariable;
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test_topLevelVariable() → void {
-  self::topLevelVariable = self::f<dynamic>();
-  self::topLevelVariable.==(null) ? self::topLevelVariable = self::f<dynamic>() : null;
-  self::topLevelVariable = self::topLevelVariable.+(self::f<dynamic>());
-  self::topLevelVariable = self::topLevelVariable.*(self::f<dynamic>());
-  self::topLevelVariable = self::topLevelVariable.&(self::f<dynamic>());
-  self::topLevelVariable = self::topLevelVariable.-(1);
-  self::topLevelVariable = self::topLevelVariable.-(1);
-  dynamic v1 = self::topLevelVariable = self::f<dynamic>();
-  dynamic v2 = let final dynamic #t1 = self::topLevelVariable in #t1.==(null) ? self::topLevelVariable = self::f<dynamic>() : #t1;
-  dynamic v4 = self::topLevelVariable = self::topLevelVariable.*(self::f<dynamic>());
-  dynamic v5 = self::topLevelVariable = self::topLevelVariable.&(self::f<dynamic>());
-  dynamic v6 = self::topLevelVariable = self::topLevelVariable.-(1);
-  dynamic v7 = let final dynamic #t2 = self::topLevelVariable in let final dynamic #t3 = self::topLevelVariable = #t2.-(1) in #t2;
-}
-static method test_staticVariable() → void {
-  self::B::staticVariable = self::f<dynamic>();
-  self::B::staticVariable.==(null) ? self::B::staticVariable = self::f<dynamic>() : null;
-  self::B::staticVariable = self::B::staticVariable.+(self::f<dynamic>());
-  self::B::staticVariable = self::B::staticVariable.*(self::f<dynamic>());
-  self::B::staticVariable = self::B::staticVariable.&(self::f<dynamic>());
-  self::B::staticVariable = self::B::staticVariable.-(1);
-  self::B::staticVariable = self::B::staticVariable.-(1);
-  dynamic v1 = self::B::staticVariable = self::f<dynamic>();
-  dynamic v2 = let final dynamic #t4 = self::B::staticVariable in #t4.==(null) ? self::B::staticVariable = self::f<dynamic>() : #t4;
-  dynamic v4 = self::B::staticVariable = self::B::staticVariable.*(self::f<dynamic>());
-  dynamic v5 = self::B::staticVariable = self::B::staticVariable.&(self::f<dynamic>());
-  dynamic v6 = self::B::staticVariable = self::B::staticVariable.-(1);
-  dynamic v7 = let final dynamic #t5 = self::B::staticVariable in let final dynamic #t6 = self::B::staticVariable = #t5.-(1) in #t5;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.legacy.transformed.expect
deleted file mode 100644
index ddb5870..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  static field self::B* staticVariable = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::C* v) → self::A*
-    return null;
-  operator -(core::int* i) → self::B*
-    return null;
-  operator *(self::B* v) → self::B*
-    return null;
-  operator &(self::A* v) → self::C*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static field self::B* topLevelVariable;
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test_topLevelVariable() → void {
-  self::topLevelVariable = self::f<dynamic>();
-  self::topLevelVariable.==(null) ? self::topLevelVariable = self::f<dynamic>() : null;
-  self::topLevelVariable = self::topLevelVariable.+(self::f<dynamic>());
-  self::topLevelVariable = self::topLevelVariable.*(self::f<dynamic>());
-  self::topLevelVariable = self::topLevelVariable.&(self::f<dynamic>());
-  self::topLevelVariable = self::topLevelVariable.-(1);
-  self::topLevelVariable = self::topLevelVariable.-(1);
-  dynamic v1 = self::topLevelVariable = self::f<dynamic>();
-  dynamic v2 = let final dynamic #t1 = self::topLevelVariable in #t1.==(null) ? self::topLevelVariable = self::f<dynamic>() : #t1;
-  dynamic v4 = self::topLevelVariable = self::topLevelVariable.*(self::f<dynamic>());
-  dynamic v5 = self::topLevelVariable = self::topLevelVariable.&(self::f<dynamic>());
-  dynamic v6 = self::topLevelVariable = self::topLevelVariable.-(1);
-  dynamic v7 = let final dynamic #t2 = self::topLevelVariable in let final dynamic #t3 = self::topLevelVariable = #t2.-(1) in #t2;
-}
-static method test_staticVariable() → void {
-  self::B::staticVariable = self::f<dynamic>();
-  self::B::staticVariable.==(null) ? self::B::staticVariable = self::f<dynamic>() : null;
-  self::B::staticVariable = self::B::staticVariable.+(self::f<dynamic>());
-  self::B::staticVariable = self::B::staticVariable.*(self::f<dynamic>());
-  self::B::staticVariable = self::B::staticVariable.&(self::f<dynamic>());
-  self::B::staticVariable = self::B::staticVariable.-(1);
-  self::B::staticVariable = self::B::staticVariable.-(1);
-  dynamic v1 = self::B::staticVariable = self::f<dynamic>();
-  dynamic v2 = let final dynamic #t4 = self::B::staticVariable in #t4.==(null) ? self::B::staticVariable = self::f<dynamic>() : #t4;
-  dynamic v4 = self::B::staticVariable = self::B::staticVariable.*(self::f<dynamic>());
-  dynamic v5 = self::B::staticVariable = self::B::staticVariable.&(self::f<dynamic>());
-  dynamic v6 = self::B::staticVariable = self::B::staticVariable.-(1);
-  dynamic v7 = let final dynamic #t5 = self::B::staticVariable in let final dynamic #t6 = self::B::staticVariable = #t5.-(1) in #t5;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.legacy.expect
deleted file mode 100644
index a7bd009..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* topLevelInt;
-static field core::num* topLevelNum;
-static field core::double* topLevelDouble;
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method test1() → void {
-  dynamic v1 = self::topLevelInt = self::getInt();
-  dynamic v4 = let final dynamic #t1 = self::topLevelInt in #t1.==(null) ? self::topLevelInt = self::getInt() : #t1;
-  dynamic v7 = self::topLevelInt = self::topLevelInt.+(self::getInt());
-  dynamic v10 = self::topLevelInt = self::topLevelInt.+(1);
-  dynamic v11 = let final dynamic #t2 = self::topLevelInt in let final dynamic #t3 = self::topLevelInt = #t2.+(1) in #t2;
-}
-static method test2() → void {
-  dynamic v1 = self::topLevelNum = self::getInt();
-  dynamic v2 = self::topLevelNum = self::getNum();
-  dynamic v3 = self::topLevelNum = self::getDouble();
-  dynamic v4 = let final dynamic #t4 = self::topLevelNum in #t4.==(null) ? self::topLevelNum = self::getInt() : #t4;
-  dynamic v5 = let final dynamic #t5 = self::topLevelNum in #t5.==(null) ? self::topLevelNum = self::getNum() : #t5;
-  dynamic v6 = let final dynamic #t6 = self::topLevelNum in #t6.==(null) ? self::topLevelNum = self::getDouble() : #t6;
-  dynamic v7 = self::topLevelNum = self::topLevelNum.+(self::getInt());
-  dynamic v8 = self::topLevelNum = self::topLevelNum.+(self::getNum());
-  dynamic v9 = self::topLevelNum = self::topLevelNum.+(self::getDouble());
-  dynamic v10 = self::topLevelNum = self::topLevelNum.+(1);
-  dynamic v11 = let final dynamic #t7 = self::topLevelNum in let final dynamic #t8 = self::topLevelNum = #t7.+(1) in #t7;
-}
-static method test3() → void {
-  dynamic v3 = self::topLevelDouble = self::getDouble();
-  dynamic v6 = let final dynamic #t9 = self::topLevelDouble in #t9.==(null) ? self::topLevelDouble = self::getDouble() : #t9;
-  dynamic v7 = self::topLevelDouble = self::topLevelDouble.+(self::getInt());
-  dynamic v8 = self::topLevelDouble = self::topLevelDouble.+(self::getNum());
-  dynamic v9 = self::topLevelDouble = self::topLevelDouble.+(self::getDouble());
-  dynamic v10 = self::topLevelDouble = self::topLevelDouble.+(1);
-  dynamic v11 = let final dynamic #t10 = self::topLevelDouble in let final dynamic #t11 = self::topLevelDouble = #t10.+(1) in #t10;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index a7bd009..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* topLevelInt;
-static field core::num* topLevelNum;
-static field core::double* topLevelDouble;
-static method getInt() → core::int*
-  return 0;
-static method getNum() → core::num*
-  return 0;
-static method getDouble() → core::double*
-  return 0.0;
-static method test1() → void {
-  dynamic v1 = self::topLevelInt = self::getInt();
-  dynamic v4 = let final dynamic #t1 = self::topLevelInt in #t1.==(null) ? self::topLevelInt = self::getInt() : #t1;
-  dynamic v7 = self::topLevelInt = self::topLevelInt.+(self::getInt());
-  dynamic v10 = self::topLevelInt = self::topLevelInt.+(1);
-  dynamic v11 = let final dynamic #t2 = self::topLevelInt in let final dynamic #t3 = self::topLevelInt = #t2.+(1) in #t2;
-}
-static method test2() → void {
-  dynamic v1 = self::topLevelNum = self::getInt();
-  dynamic v2 = self::topLevelNum = self::getNum();
-  dynamic v3 = self::topLevelNum = self::getDouble();
-  dynamic v4 = let final dynamic #t4 = self::topLevelNum in #t4.==(null) ? self::topLevelNum = self::getInt() : #t4;
-  dynamic v5 = let final dynamic #t5 = self::topLevelNum in #t5.==(null) ? self::topLevelNum = self::getNum() : #t5;
-  dynamic v6 = let final dynamic #t6 = self::topLevelNum in #t6.==(null) ? self::topLevelNum = self::getDouble() : #t6;
-  dynamic v7 = self::topLevelNum = self::topLevelNum.+(self::getInt());
-  dynamic v8 = self::topLevelNum = self::topLevelNum.+(self::getNum());
-  dynamic v9 = self::topLevelNum = self::topLevelNum.+(self::getDouble());
-  dynamic v10 = self::topLevelNum = self::topLevelNum.+(1);
-  dynamic v11 = let final dynamic #t7 = self::topLevelNum in let final dynamic #t8 = self::topLevelNum = #t7.+(1) in #t7;
-}
-static method test3() → void {
-  dynamic v3 = self::topLevelDouble = self::getDouble();
-  dynamic v6 = let final dynamic #t9 = self::topLevelDouble in #t9.==(null) ? self::topLevelDouble = self::getDouble() : #t9;
-  dynamic v7 = self::topLevelDouble = self::topLevelDouble.+(self::getInt());
-  dynamic v8 = self::topLevelDouble = self::topLevelDouble.+(self::getNum());
-  dynamic v9 = self::topLevelDouble = self::topLevelDouble.+(self::getDouble());
-  dynamic v10 = self::topLevelDouble = self::topLevelDouble.+(1);
-  dynamic v11 = let final dynamic #t10 = self::topLevelDouble in let final dynamic #t11 = self::topLevelDouble = #t10.+(1) in #t10;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.legacy.expect
deleted file mode 100644
index faa8bd9..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → core::int*
-    return 1;
-  operator -(dynamic other) → core::double*
-    return 2.0;
-}
-static field dynamic v_add = new self::A::•().+("foo");
-static field dynamic v_minus = new self::A::•().-("bar");
-static method main() → dynamic {
-  self::v_add;
-  self::v_minus;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.legacy.transformed.expect
deleted file mode 100644
index faa8bd9..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → core::int*
-    return 1;
-  operator -(dynamic other) → core::double*
-    return 2.0;
-}
-static field dynamic v_add = new self::A::•().+("foo");
-static field dynamic v_minus = new self::A::•().-("bar");
-static method main() → dynamic {
-  self::v_add;
-  self::v_minus;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.legacy.expect
deleted file mode 100644
index a1b8822..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.0.==(2.0);
-static field dynamic a_notEqual = !1.0.==(2.0);
-static field dynamic a_add = 1.0.+(2.0);
-static field dynamic a_subtract = 1.0.-(2.0);
-static field dynamic a_multiply = 1.0.*(2.0);
-static field dynamic a_divide = 1.0./(2.0);
-static field dynamic a_floorDivide = 1.0.~/(2.0);
-static field dynamic a_greater = 1.0.>(2.0);
-static field dynamic a_less = 1.0.<(2.0);
-static field dynamic a_greaterEqual = 1.0.>=(2.0);
-static field dynamic a_lessEqual = 1.0.<=(2.0);
-static field dynamic a_modulo = 1.0.%(2.0);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.legacy.transformed.expect
deleted file mode 100644
index a1b8822..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.0.==(2.0);
-static field dynamic a_notEqual = !1.0.==(2.0);
-static field dynamic a_add = 1.0.+(2.0);
-static field dynamic a_subtract = 1.0.-(2.0);
-static field dynamic a_multiply = 1.0.*(2.0);
-static field dynamic a_divide = 1.0./(2.0);
-static field dynamic a_floorDivide = 1.0.~/(2.0);
-static field dynamic a_greater = 1.0.>(2.0);
-static field dynamic a_less = 1.0.<(2.0);
-static field dynamic a_greaterEqual = 1.0.>=(2.0);
-static field dynamic a_lessEqual = 1.0.<=(2.0);
-static field dynamic a_modulo = 1.0.%(2.0);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.legacy.expect
deleted file mode 100644
index 6654e67..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.0.==(2);
-static field dynamic a_notEqual = !1.0.==(2);
-static field dynamic a_add = 1.0.+(2);
-static field dynamic a_subtract = 1.0.-(2);
-static field dynamic a_multiply = 1.0.*(2);
-static field dynamic a_divide = 1.0./(2);
-static field dynamic a_floorDivide = 1.0.~/(2);
-static field dynamic a_greater = 1.0.>(2);
-static field dynamic a_less = 1.0.<(2);
-static field dynamic a_greaterEqual = 1.0.>=(2);
-static field dynamic a_lessEqual = 1.0.<=(2);
-static field dynamic a_modulo = 1.0.%(2);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.legacy.transformed.expect
deleted file mode 100644
index 6654e67..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.0.==(2);
-static field dynamic a_notEqual = !1.0.==(2);
-static field dynamic a_add = 1.0.+(2);
-static field dynamic a_subtract = 1.0.-(2);
-static field dynamic a_multiply = 1.0.*(2);
-static field dynamic a_divide = 1.0./(2);
-static field dynamic a_floorDivide = 1.0.~/(2);
-static field dynamic a_greater = 1.0.>(2);
-static field dynamic a_less = 1.0.<(2);
-static field dynamic a_greaterEqual = 1.0.>=(2);
-static field dynamic a_lessEqual = 1.0.<=(2);
-static field dynamic a_modulo = 1.0.%(2);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.legacy.expect
deleted file mode 100644
index 688ef78..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.==(2.0);
-static field dynamic a_notEqual = !1.==(2.0);
-static field dynamic a_add = 1.+(2.0);
-static field dynamic a_subtract = 1.-(2.0);
-static field dynamic a_multiply = 1.*(2.0);
-static field dynamic a_divide = 1./(2.0);
-static field dynamic a_floorDivide = 1.~/(2.0);
-static field dynamic a_greater = 1.>(2.0);
-static field dynamic a_less = 1.<(2.0);
-static field dynamic a_greaterEqual = 1.>=(2.0);
-static field dynamic a_lessEqual = 1.<=(2.0);
-static field dynamic a_modulo = 1.%(2.0);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.legacy.transformed.expect
deleted file mode 100644
index 688ef78..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.==(2.0);
-static field dynamic a_notEqual = !1.==(2.0);
-static field dynamic a_add = 1.+(2.0);
-static field dynamic a_subtract = 1.-(2.0);
-static field dynamic a_multiply = 1.*(2.0);
-static field dynamic a_divide = 1./(2.0);
-static field dynamic a_floorDivide = 1.~/(2.0);
-static field dynamic a_greater = 1.>(2.0);
-static field dynamic a_less = 1.<(2.0);
-static field dynamic a_greaterEqual = 1.>=(2.0);
-static field dynamic a_lessEqual = 1.<=(2.0);
-static field dynamic a_modulo = 1.%(2.0);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.legacy.expect
deleted file mode 100644
index 29574bd..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.==(2);
-static field dynamic a_notEqual = !1.==(2);
-static field dynamic a_bitXor = 1.^(2);
-static field dynamic a_bitAnd = 1.&(2);
-static field dynamic a_bitOr = 1.|(2);
-static field dynamic a_bitShiftRight = 1.>>(2);
-static field dynamic a_bitShiftLeft = 1.<<(2);
-static field dynamic a_add = 1.+(2);
-static field dynamic a_subtract = 1.-(2);
-static field dynamic a_multiply = 1.*(2);
-static field dynamic a_divide = 1./(2);
-static field dynamic a_floorDivide = 1.~/(2);
-static field dynamic a_greater = 1.>(2);
-static field dynamic a_less = 1.<(2);
-static field dynamic a_greaterEqual = 1.>=(2);
-static field dynamic a_lessEqual = 1.<=(2);
-static field dynamic a_modulo = 1.%(2);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_bitXor;
-  self::a_bitAnd;
-  self::a_bitOr;
-  self::a_bitShiftRight;
-  self::a_bitShiftLeft;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.legacy.transformed.expect
deleted file mode 100644
index 29574bd..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_equal = 1.==(2);
-static field dynamic a_notEqual = !1.==(2);
-static field dynamic a_bitXor = 1.^(2);
-static field dynamic a_bitAnd = 1.&(2);
-static field dynamic a_bitOr = 1.|(2);
-static field dynamic a_bitShiftRight = 1.>>(2);
-static field dynamic a_bitShiftLeft = 1.<<(2);
-static field dynamic a_add = 1.+(2);
-static field dynamic a_subtract = 1.-(2);
-static field dynamic a_multiply = 1.*(2);
-static field dynamic a_divide = 1./(2);
-static field dynamic a_floorDivide = 1.~/(2);
-static field dynamic a_greater = 1.>(2);
-static field dynamic a_less = 1.<(2);
-static field dynamic a_greaterEqual = 1.>=(2);
-static field dynamic a_lessEqual = 1.<=(2);
-static field dynamic a_modulo = 1.%(2);
-static method main() → dynamic {
-  self::a_equal;
-  self::a_notEqual;
-  self::a_bitXor;
-  self::a_bitAnd;
-  self::a_bitOr;
-  self::a_bitShiftRight;
-  self::a_bitShiftLeft;
-  self::a_add;
-  self::a_subtract;
-  self::a_multiply;
-  self::a_divide;
-  self::a_floorDivide;
-  self::a_greater;
-  self::a_less;
-  self::a_greaterEqual;
-  self::a_lessEqual;
-  self::a_modulo;
-}
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.legacy.expect
deleted file mode 100644
index bc0914a..0000000
--- a/pkg/front_end/testcases/inference/infer_conditional.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = 1.==(2) ? 1 : 2.0;
-static field dynamic b = 1.==(2) ? 1.0 : 2;
-static method main() → dynamic {
-  self::a;
-  self::b;
-}
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.legacy.transformed.expect
deleted file mode 100644
index bc0914a..0000000
--- a/pkg/front_end/testcases/inference/infer_conditional.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = 1.==(2) ? 1 : 2.0;
-static field dynamic b = 1.==(2) ? 1.0 : 2;
-static method main() → dynamic {
-  self::a;
-  self::b;
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.legacy.expect
deleted file mode 100644
index b6d63ca..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2_a.dart";
-
-static const field dynamic m1 = #C1;
-static const field dynamic m2 = #C1;
-static method foo() → dynamic {
-  core::int* i;
-  i = #C1;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2.dart";
-import "org-dartlang-testcase:///infer_consts_transitively_2_b.dart";
-
-static const field dynamic a1 = #C1;
-static const field dynamic a2 = #C1;
-static method main() → dynamic {}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.legacy.transformed.expect
deleted file mode 100644
index b6d63ca..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2_a.dart";
-
-static const field dynamic m1 = #C1;
-static const field dynamic m2 = #C1;
-static method foo() → dynamic {
-  core::int* i;
-  i = #C1;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2.dart";
-import "org-dartlang-testcase:///infer_consts_transitively_2_b.dart";
-
-static const field dynamic a1 = #C1;
-static const field dynamic a2 = #C1;
-static method main() → dynamic {}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.legacy.expect
deleted file mode 100644
index b9e7c92..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2.dart";
-import "org-dartlang-testcase:///infer_consts_transitively_2_b.dart";
-
-static const field dynamic a1 = #C1;
-static const field dynamic a2 = #C1;
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2_a.dart";
-
-static const field dynamic m1 = #C1;
-static const field dynamic m2 = #C1;
-static method foo() → dynamic {
-  core::int* i;
-  i = #C1;
-}
-static method main() → dynamic {}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.legacy.transformed.expect
deleted file mode 100644
index b9e7c92..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2.dart";
-import "org-dartlang-testcase:///infer_consts_transitively_2_b.dart";
-
-static const field dynamic a1 = #C1;
-static const field dynamic a2 = #C1;
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_consts_transitively_2_a.dart";
-
-static const field dynamic m1 = #C1;
-static const field dynamic m2 = #C1;
-static method foo() → dynamic {
-  core::int* i;
-  i = #C1;
-}
-static method main() → dynamic {}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.legacy.expect
deleted file mode 100644
index 93728ba..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.legacy.transformed.expect
deleted file mode 100644
index 93728ba..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.legacy.expect
deleted file mode 100644
index 93728ba..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.legacy.transformed.expect
deleted file mode 100644
index 93728ba..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.legacy.expect
deleted file mode 100644
index 724bed3..0000000
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic x = null;
-  field dynamic y = 2;
-  field dynamic z = "hi";
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  field dynamic x = 2;
-  field dynamic y = 3;
-  field dynamic z = null;
-  field dynamic w = 2;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic {
-  core::String* s;
-  core::int* i;
-  s = new self::B::•().x;
-  s = new self::B::•().y;
-  s = new self::B::•().z;
-  s = new self::B::•().w;
-  i = new self::B::•().x;
-  i = new self::B::•().y;
-  i = new self::B::•().z;
-  i = new self::B::•().w;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.legacy.transformed.expect
deleted file mode 100644
index 724bed3..0000000
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic x = null;
-  field dynamic y = 2;
-  field dynamic z = "hi";
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  field dynamic x = 2;
-  field dynamic y = 3;
-  field dynamic z = null;
-  field dynamic w = 2;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic {
-  core::String* s;
-  core::int* i;
-  s = new self::B::•().x;
-  s = new self::B::•().y;
-  s = new self::B::•().z;
-  s = new self::B::•().w;
-  i = new self::B::•().x;
-  i = new self::B::•().y;
-  i = new self::B::•().z;
-  i = new self::B::•().w;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.legacy.expect
deleted file mode 100644
index b297f39e..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  field dynamic x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field dynamic x = 0;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.legacy.transformed.expect
deleted file mode 100644
index b297f39e..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  field dynamic x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field dynamic x = 0;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect
deleted file mode 100644
index 98f6bb4..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 98f6bb4..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect
deleted file mode 100644
index f0ddfd0..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect
deleted file mode 100644
index f0ddfd0..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect
deleted file mode 100644
index 863160b..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var x;
-//       ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var x;
-//       ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var x;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::num*;
-}
-abstract class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::double*;
-}
-class E extends self::A implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super self::A::•()
-    ;
-}
-class F extends self::A implements self::C {
-  field invalid-type x = null;
-  synthetic constructor •() → self::F*
-    : super self::A::•()
-    ;
-}
-class G extends self::A implements self::D {
-  field invalid-type x = null;
-  synthetic constructor •() → self::G*
-    : super self::A::•()
-    ;
-}
-class H extends self::C implements self::D {
-  field invalid-type x = null;
-  synthetic constructor •() → self::H*
-    : super self::C::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect
deleted file mode 100644
index 863160b..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:32:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var x;
-//       ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:36:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var x;
-//       ^
-//
-// pkg/front_end/testcases/inference/infer_field_override_multiple.dart:40:7: Error: Can't infer a type for 'x' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var x;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::num*;
-}
-abstract class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::double*;
-}
-class E extends self::A implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super self::A::•()
-    ;
-}
-class F extends self::A implements self::C {
-  field invalid-type x = null;
-  synthetic constructor •() → self::F*
-    : super self::A::•()
-    ;
-}
-class G extends self::A implements self::D {
-  field invalid-type x = null;
-  synthetic constructor •() → self::G*
-    : super self::A::•()
-    ;
-}
-class H extends self::C implements self::D {
-  field invalid-type x = null;
-  synthetic constructor •() → self::H*
-    : super self::C::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect
deleted file mode 100644
index f531a5f..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::num*;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract get x() → core::int*;
-}
-class C extends self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect
deleted file mode 100644
index f531a5f..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::num*;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract get x() → core::int*;
-}
-class C extends self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect
deleted file mode 100644
index 96281e0..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field core::List<self::A::T*>* z = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::List<self::A::T*>*;
-  abstract set y(generic-covariant-impl core::List<self::A::T*>* value) → void;
-}
-class B extends self::A<core::int*> {
-  field core::List<core::int*>* x = null;
-  generic-covariant-impl field core::List<core::int*>* y = null;
-  generic-covariant-impl field core::List<core::int*>* z = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index 96281e0..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field core::List<self::A::T*>* z = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::List<self::A::T*>*;
-  abstract set y(generic-covariant-impl core::List<self::A::T*>* value) → void;
-}
-class B extends self::A<core::int*> {
-  field core::List<core::int*>* x = null;
-  generic-covariant-impl field core::List<core::int*>* y = null;
-  generic-covariant-impl field core::List<core::int*>* z = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
deleted file mode 100644
index a6eac70..0000000
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-class C extends self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-class D extends self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super self::B::•()
-    ;
-}
-class E extends core::Object implements self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-abstract class _G&Object&B = core::Object with self::B {
-  const synthetic constructor •() → self::_G&Object&B*
-    : super core::Object::•()
-    ;
-}
-class G extends self::_G&Object&B {
-  field core::int* x = null;
-  synthetic constructor •() → self::G*
-    : super self::_G&Object&B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
deleted file mode 100644
index f2ba8da..0000000
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-class C extends self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-class D extends self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super self::B::•()
-    ;
-}
-class E extends core::Object implements self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-abstract class _G&Object&B extends core::Object implements self::B {
-  const synthetic constructor •() → self::_G&Object&B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-class G extends self::_G&Object&B {
-  field core::int* x = null;
-  synthetic constructor •() → self::G*
-    : super self::_G&Object&B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
deleted file mode 100644
index 15bcc2c..0000000
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-class C extends self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-class D extends self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super self::B::•()
-    ;
-}
-class E extends core::Object implements self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-abstract class _G&Object&B = core::Object with self::B {
-  const synthetic constructor •() → self::_G&Object&B*
-    : super core::Object::•()
-    ;
-}
-class G extends self::_G&Object&B {
-  field core::int* x = null;
-  synthetic constructor •() → self::G*
-    : super self::_G&Object&B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 485fda2..0000000
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-class C extends self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-class D extends self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super self::B::•()
-    ;
-}
-class E extends core::Object implements self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object implements self::B {
-  field core::int* x = null;
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-abstract class _G&Object&B extends core::Object implements self::B {
-  const synthetic constructor •() → self::_G&Object&B*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-class G extends self::_G&Object&B {
-  field core::int* x = null;
-  synthetic constructor •() → self::G*
-    : super self::_G&Object&B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.legacy.expect
deleted file mode 100644
index 85fb413..0000000
--- a/pkg/front_end/testcases/inference/infer_field_static.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static get x() → core::int*
-    return 0;
-}
-class B extends self::A {
-  static field dynamic x = self::f();
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::A {
-  static field dynamic x = null;
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-static method f() → dynamic
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.legacy.transformed.expect
deleted file mode 100644
index 85fb413..0000000
--- a/pkg/front_end/testcases/inference/infer_field_static.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static get x() → core::int*
-    return 0;
-}
-class B extends self::A {
-  static field dynamic x = self::f();
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::A {
-  static field dynamic x = null;
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-static method f() → dynamic
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect
deleted file mode 100644
index 879e389..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-  set x(core::double* value) → void {}
-}
-class B extends self::A {
-  final field core::int* x;
-  constructor •(dynamic x) → self::B*
-    : self::B::x = x, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 879e389..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-  set x(core::double* value) → void {}
-}
-class B extends self::A {
-  final field core::int* x;
-  constructor •(dynamic x) → self::B*
-    : self::B::x = x, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect
deleted file mode 100644
index f7faf92..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-class B extends self::A {
-  final field core::int* x;
-  constructor •(dynamic x) → self::B*
-    : self::B::x = x, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect
deleted file mode 100644
index f7faf92..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-class B extends self::A {
-  final field core::int* x;
-  constructor •(dynamic x) → self::B*
-    : self::B::x = x, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect
deleted file mode 100644
index f4b12bb..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(core::double* value) → void {}
-}
-class B extends self::A {
-  final field core::double* x;
-  constructor •(dynamic x) → self::B*
-    : self::B::x = x, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect
deleted file mode 100644
index f4b12bb..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(core::double* value) → void {}
-}
-class B extends self::A {
-  final field core::double* x;
-  constructor •(dynamic x) → self::B*
-    : self::B::x = x, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.legacy.expect
deleted file mode 100644
index 93e7e69..0000000
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.legacy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:19:46: Warning: Getter not found: 'x'.
-// var b = new B(/*error:UNDEFINED_IDENTIFIER*/ x); // allocations
-//                                              ^
-//
-// pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:21:34: Warning: Getter not found: 'x'.
-//   /*error:UNDEFINED_IDENTIFIER*/ x
-//                                  ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → self::B*
-    return null;
-}
-class B extends self::A {
-  constructor •(dynamic ignore) → self::B*
-    : super self::A::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic b = new self::B::•(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-static field dynamic c1 = <dynamic>[throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))];
-static field dynamic c2 = #C3;
-static field dynamic d = <dynamic, dynamic>{"a": "b"};
-static field dynamic e = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.x = 3 in #t1;
-static field dynamic f = 2.+(3);
-static field dynamic g = 3.unary-();
-static field dynamic h = new self::A::•().+(3);
-static field dynamic i = new self::A::•().unary-();
-static field dynamic j = null as self::B*;
-static method test1() → dynamic {
-  self::a = "hi";
-  self::a = new self::B::•(3);
-  self::b = "hi";
-  self::b = new self::B::•(3);
-  self::c1 = <dynamic>[];
-  self::c1 = <dynamic, dynamic>{};
-  self::c2 = <dynamic>[];
-  self::c2 = <dynamic, dynamic>{};
-  self::d = <dynamic, dynamic>{};
-  self::d = 3;
-  self::e = new self::A::•();
-  self::e = <dynamic, dynamic>{};
-  self::f = 3;
-  self::f = false;
-  self::g = 1;
-  self::g = false;
-  self::h = false;
-  self::h = new self::B::•("b");
-  self::i = false;
-  self::j = new self::B::•("b");
-  self::j = false;
-  self::j = <dynamic>[];
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #x
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.legacy.transformed.expect
deleted file mode 100644
index 93e7e69..0000000
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:19:46: Warning: Getter not found: 'x'.
-// var b = new B(/*error:UNDEFINED_IDENTIFIER*/ x); // allocations
-//                                              ^
-//
-// pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:21:34: Warning: Getter not found: 'x'.
-//   /*error:UNDEFINED_IDENTIFIER*/ x
-//                                  ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → self::B*
-    return null;
-}
-class B extends self::A {
-  constructor •(dynamic ignore) → self::B*
-    : super self::A::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic b = new self::B::•(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-static field dynamic c1 = <dynamic>[throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))];
-static field dynamic c2 = #C3;
-static field dynamic d = <dynamic, dynamic>{"a": "b"};
-static field dynamic e = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.x = 3 in #t1;
-static field dynamic f = 2.+(3);
-static field dynamic g = 3.unary-();
-static field dynamic h = new self::A::•().+(3);
-static field dynamic i = new self::A::•().unary-();
-static field dynamic j = null as self::B*;
-static method test1() → dynamic {
-  self::a = "hi";
-  self::a = new self::B::•(3);
-  self::b = "hi";
-  self::b = new self::B::•(3);
-  self::c1 = <dynamic>[];
-  self::c1 = <dynamic, dynamic>{};
-  self::c2 = <dynamic>[];
-  self::c2 = <dynamic, dynamic>{};
-  self::d = <dynamic, dynamic>{};
-  self::d = 3;
-  self::e = new self::A::•();
-  self::e = <dynamic, dynamic>{};
-  self::f = 3;
-  self::f = false;
-  self::g = 1;
-  self::g = false;
-  self::h = false;
-  self::h = new self::B::•("b");
-  self::i = false;
-  self::j = new self::B::•("b");
-  self::j = false;
-  self::j = <dynamic>[];
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #x
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.legacy.expect
deleted file mode 100644
index b0c4d18..0000000
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  field dynamic x = 2;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.legacy.transformed.expect
deleted file mode 100644
index b0c4d18..0000000
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  field dynamic x = 2;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.legacy.expect
deleted file mode 100644
index 484b784..0000000
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field dynamic x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  final field dynamic x = 2;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.legacy.transformed.expect
deleted file mode 100644
index 484b784..0000000
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field dynamic x = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  final field dynamic x = 2;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.legacy.expect
deleted file mode 100644
index 7d2880b..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.legacy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart";
-
-static field dynamic y = inf::x;
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf::x;
-  t = self::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-static field dynamic x = 2;
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as inf2;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf2::A::x;
-  synthetic constructor •() → self2::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf2::A::x;
-  t = self2::B::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf2::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.legacy.transformed.expect
deleted file mode 100644
index 7d2880b..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart";
-
-static field dynamic y = inf::x;
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf::x;
-  t = self::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-static field dynamic x = 2;
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as inf2;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf2::A::x;
-  synthetic constructor •() → self2::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf2::A::x;
-  t = self2::B::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf2::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.legacy.expect
deleted file mode 100644
index 11e3dc9..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf::A::x;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf::A::x;
-  t = self::B::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.legacy.transformed.expect
deleted file mode 100644
index 11e3dc9..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf::A::x;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf::A::x;
-  t = self::B::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.legacy.expect
deleted file mode 100644
index 8721576..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as self;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = self::A::x;
-  synthetic constructor •() → self2::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = self::A::x;
-  t = self2::B::y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.legacy.transformed.expect
deleted file mode 100644
index 8721576..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as self;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = self::A::x;
-  synthetic constructor •() → self2::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = self::A::x;
-  t = self2::B::y;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.legacy.expect
deleted file mode 100644
index c4a27d0..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.legacy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-static field dynamic x = 2;
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf::A::x;
-  synthetic constructor •() → self2::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf::A::x;
-  t = self2::B::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.legacy.transformed.expect
deleted file mode 100644
index c4a27d0..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-static field dynamic x = 2;
-static method main() → dynamic {}
-
-library test;
-import self as self2;
-import "dart:core" as core;
-import "infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf::A::x;
-  synthetic constructor •() → self2::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  core::int* t = 3;
-  t = inf::A::x;
-  t = self2::B::y;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_variables_in_cycle_libs_when_flag_is_on2.dart";
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.legacy.expect
deleted file mode 100644
index 6e1db6f..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "infer_from_variables_in_non_cycle_imports_with_flag_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_non_cycle_imports_with_flag_a.dart";
-
-static field dynamic y = inf::x;
-static method test1() → dynamic {
-  inf::x = "hi";
-  self::y = "hi";
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-static field dynamic x = 2;
-static method main() → dynamic {
-  inf::x;
-}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.legacy.transformed.expect
deleted file mode 100644
index 6e1db6f..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "infer_from_variables_in_non_cycle_imports_with_flag_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_non_cycle_imports_with_flag_a.dart";
-
-static field dynamic y = inf::x;
-static method test1() → dynamic {
-  inf::x = "hi";
-  self::y = "hi";
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-static field dynamic x = 2;
-static method main() → dynamic {
-  inf::x;
-}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.legacy.expect
deleted file mode 100644
index 68f375f..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_from_variables_in_non_cycle_imports_with_flag2_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_non_cycle_imports_with_flag2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf::A::x;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  inf::A::x = "hi";
-  self::B::y = "hi";
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.legacy.transformed.expect
deleted file mode 100644
index 68f375f..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_from_variables_in_non_cycle_imports_with_flag2_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_from_variables_in_non_cycle_imports_with_flag2_a.dart";
-
-class B extends core::Object {
-  static field dynamic y = inf::A::x;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method test1() → dynamic {
-  inf::A::x = "hi";
-  self::B::y = "hi";
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.legacy.expect
deleted file mode 100644
index 1b6a596..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.legacy.transformed.expect
deleted file mode 100644
index 1b6a596..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.legacy.expect
deleted file mode 100644
index a80145a..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static field dynamic x = 2;
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.legacy.transformed.expect
deleted file mode 100644
index a80145a..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static field dynamic x = 2;
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.legacy.expect
deleted file mode 100644
index 981cd81..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(core::int* a, {core::String* b = #C1, self::C::m::T* c = #C1}) → self::C::m::T*
-    return null;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(1, b: "bbb", c: 2.0);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.legacy.transformed.expect
deleted file mode 100644
index 981cd81..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(core::int* a, {core::String* b = #C1, self::C::m::T* c = #C1}) → self::C::m::T*
-    return null;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(1, b: "bbb", c: 2.0);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.legacy.expect
deleted file mode 100644
index 8fb914e..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(core::int* a, [self::C::m::T* b = #C1]) → self::C::m::T*
-    return null;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(1, 2.0);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.legacy.transformed.expect
deleted file mode 100644
index 8fb914e..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(core::int* a, [self::C::m::T* b = #C1]) → self::C::m::T*
-    return null;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(1, 2.0);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.legacy.expect
deleted file mode 100644
index d971406..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(core::int* a, [core::String* b = #C1, self::C::m::T* c = #C1]) → self::C::m::T*
-    return null;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(1, "bbb", 2.0);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.legacy.transformed.expect
deleted file mode 100644
index d971406..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(core::int* a, [core::String* b = #C1, self::C::m::T* c = #C1]) → self::C::m::T*
-    return null;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(1, "bbb", 2.0);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.legacy.expect
deleted file mode 100644
index b7a43ca..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(self::C::m::T* x) → self::C::m::T*
-    return x;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(42);
-}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.legacy.transformed.expect
deleted file mode 100644
index b7a43ca..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m<T extends core::Object* = dynamic>(self::C::m::T* x) → self::C::m::T*
-    return x;
-}
-static method main() → dynamic {
-  dynamic y = new self::C::•().m(42);
-}
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect
deleted file mode 100644
index 20911c3..0000000
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(core::double* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract get x() → core::double*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 20911c3..0000000
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(core::double* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract get x() → core::double*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect
deleted file mode 100644
index 6703949..0000000
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return self::f();
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-static method f() → dynamic
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 6703949..0000000
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return self::f();
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::int*;
-}
-static method f() → dynamic
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.legacy.expect
deleted file mode 100644
index 3fc4e1c..0000000
--- a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Resource extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Folder extends self::Resource {
-  synthetic constructor •() → void
-    : super self::Resource::•()
-    ;
-}
-class Foo<T extends core::Object = dynamic> extends core::Object {
-  constructor •(self::Foo::T t) → void
-    : super core::Object::•()
-    ;
-}
-static method getResource(core::String str) → self::Resource
-  return null;
-static method main() → dynamic {
-  dynamic map = <core::String, core::List<self::Folder>>{"pkgA": <dynamic>[self::getResource("/pkgA/lib/")], "pkgB": <dynamic>[self::getResource("/pkgB/lib/")]};
-  dynamic list = <core::Map<core::String, self::Folder>>[<dynamic, dynamic>{"pkgA": self::getResource("/pkgA/lib/")}, <dynamic, dynamic>{"pkgB": self::getResource("/pkgB/lib/")}];
-  dynamic foo = new self::Foo::•<core::List<self::Folder>>(<dynamic>[self::getResource("/pkgA/lib/")]);
-}
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.legacy.transformed.expect
deleted file mode 100644
index 3fc4e1c..0000000
--- a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Resource extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Folder extends self::Resource {
-  synthetic constructor •() → void
-    : super self::Resource::•()
-    ;
-}
-class Foo<T extends core::Object = dynamic> extends core::Object {
-  constructor •(self::Foo::T t) → void
-    : super core::Object::•()
-    ;
-}
-static method getResource(core::String str) → self::Resource
-  return null;
-static method main() → dynamic {
-  dynamic map = <core::String, core::List<self::Folder>>{"pkgA": <dynamic>[self::getResource("/pkgA/lib/")], "pkgB": <dynamic>[self::getResource("/pkgB/lib/")]};
-  dynamic list = <core::Map<core::String, self::Folder>>[<dynamic, dynamic>{"pkgA": self::getResource("/pkgA/lib/")}, <dynamic, dynamic>{"pkgB": self::getResource("/pkgB/lib/")}];
-  dynamic foo = new self::Foo::•<core::List<self::Folder>>(<dynamic>[self::getResource("/pkgA/lib/")]);
-}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.legacy.expect
deleted file mode 100644
index ff9ba55..0000000
--- a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:9:76: Warning: Method not found: 'g'.
-//   /*@ returnType=dynamic */ f() => /*error:REFERENCED_BEFORE_DECLARATION*/ g();
-//                                                                            ^
-//
-// pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:14:3: Error: Can't declare 'g' because it was already used in this scope.
-//   g() => 0;
-//   ^
-// pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:9:76: Context: Previous use of 'g'.
-//   /*@ returnType=dynamic */ f() => /*error:REFERENCED_BEFORE_DECLARATION*/ g();
-//                                                                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  function f() → dynamic
-    return throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  {
-    invalid-expression "pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:14:3: Error: Can't declare 'g' because it was already used in this scope.
-  g() => 0;
-  ^";
-    function g() → dynamic
-      return 0;
-  }
-  dynamic v = f;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #g
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.legacy.transformed.expect
deleted file mode 100644
index ff9ba55..0000000
--- a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:9:76: Warning: Method not found: 'g'.
-//   /*@ returnType=dynamic */ f() => /*error:REFERENCED_BEFORE_DECLARATION*/ g();
-//                                                                            ^
-//
-// pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:14:3: Error: Can't declare 'g' because it was already used in this scope.
-//   g() => 0;
-//   ^
-// pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:9:76: Context: Previous use of 'g'.
-//   /*@ returnType=dynamic */ f() => /*error:REFERENCED_BEFORE_DECLARATION*/ g();
-//                                                                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  function f() → dynamic
-    return throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  {
-    invalid-expression "pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart:14:3: Error: Can't declare 'g' because it was already used in this scope.
-  g() => 0;
-  ^";
-    function g() → dynamic
-      return 0;
-  }
-  dynamic v = f;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #g
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.legacy.expect
deleted file mode 100644
index 1cc3c2f..0000000
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  function f0() → dynamic
-    return 42;
-  function f1() → dynamic async 
-    return 42;
-  function f2() → dynamic {
-    return 42;
-  }
-  function f3() → dynamic async {
-    return 42;
-  }
-  function f4() → dynamic sync* {
-    yield 42;
-  }
-  function f5() → dynamic async* {
-    yield 42;
-  }
-  function f6() → core::num*
-    return 42;
-  function f7() → dynamic
-    return f7.call();
-  function f8() → dynamic
-    return f5.call();
-  dynamic v0 = f0;
-  dynamic v1 = f1;
-  dynamic v2 = f2;
-  dynamic v3 = f3;
-  dynamic v4 = f4;
-  dynamic v5 = f5;
-  dynamic v6 = f6;
-  dynamic v7 = f7;
-  dynamic v8 = f8;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.legacy.transformed.expect
deleted file mode 100644
index 76c757e..0000000
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,131 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  function f0() → dynamic
-    return 42;
-  function f1() → dynamic /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          :return_value = 42;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  function f2() → dynamic {
-    return 42;
-  }
-  function f3() → dynamic /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L2:
-        {
-          :return_value = 42;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  function f4() → dynamic /* originally sync* */ {
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<dynamic>* :iterator) → core::bool* yielding {
-      {
-        {
-          :iterator.{core::_SyncIterator::_current} = 42;
-          [yield] true;
-        }
-      }
-      return false;
-    }
-    return new core::_SyncIterable::•<dynamic>(:sync_op);
-  }
-  function f5() → dynamic /* originally async* */ {
-    asy::_AsyncStarStreamController<dynamic>* :controller;
-    dynamic :controller_stream;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try
-        try {
-          #L3:
-          {
-            if(:controller.{asy::_AsyncStarStreamController::add}(42))
-              return null;
-            else
-              [yield] null;
-          }
-          return;
-        }
-        on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-          :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-        }
-      finally {
-        :controller.{asy::_AsyncStarStreamController::close}();
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
-    :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-    return :controller_stream;
-  }
-  function f6() → core::num*
-    return 42;
-  function f7() → dynamic
-    return f7.call();
-  function f8() → dynamic
-    return f5.call();
-  dynamic v0 = f0;
-  dynamic v1 = f1;
-  dynamic v2 = f2;
-  dynamic v3 = f3;
-  dynamic v4 = f4;
-  dynamic v5 = f5;
-  dynamic v6 = f6;
-  dynamic v7 = f7;
-  dynamic v8 = f8;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.legacy.expect
deleted file mode 100644
index 0af8723..0000000
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract method x(() →* core::int* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract method x(() →* dynamic value) → void;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method g(self::B* b) → dynamic {
-  b.x(self::f<dynamic>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.legacy.transformed.expect
deleted file mode 100644
index 0af8723..0000000
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract method x(() →* core::int* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract method x(() →* dynamic value) → void;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method g(self::B* b) → dynamic {
-  b.x(self::f<dynamic>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect
deleted file mode 100644
index ff72bcf..0000000
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::int* y) → core::int*;
-  abstract method g(core::int* x, [core::int* y = #C1]) → core::int*;
-  abstract method h(core::int* x, {core::int* y = #C1}) → core::int*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x) → core::int*;
-  abstract method g(core::int* x) → core::int*;
-  abstract method h(core::int* x) → core::int*;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::int* y) → core::int*;
-  abstract method g(core::int* x, [core::int* y = #C1]) → core::int*;
-  abstract method h(core::int* x, {core::int* y = #C1}) → core::int*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect
deleted file mode 100644
index ff72bcf..0000000
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::int* y) → core::int*;
-  abstract method g(core::int* x, [core::int* y = #C1]) → core::int*;
-  abstract method h(core::int* x, {core::int* y = #C1}) → core::int*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x) → core::int*;
-  abstract method g(core::int* x) → core::int*;
-  abstract method h(core::int* x) → core::int*;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::int* y) → core::int*;
-  abstract method g(core::int* x, [core::int* y = #C1]) → core::int*;
-  abstract method h(core::int* x, {core::int* y = #C1}) → core::int*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect
deleted file mode 100644
index 450d23b..0000000
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends self::D {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-  set foo(core::int* x) → void {}
-}
-class D extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect
deleted file mode 100644
index 450d23b..0000000
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends self::D {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-  set foo(core::int* x) → void {}
-}
-class D extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect
deleted file mode 100644
index bafdd43..0000000
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends self::D {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-  set foo(core::int* x) → void {}
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  set foo(core::int* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect
deleted file mode 100644
index bafdd43..0000000
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends self::D {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-  set foo(core::int* x) → void {}
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  set foo(core::int* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.legacy.expect
deleted file mode 100644
index 0af17a3..0000000
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_not = !true;
-static field dynamic a_complement = 1.~();
-static field dynamic a_negate = 1.unary-();
-static method main() → dynamic {
-  self::a_not;
-  self::a_complement;
-  self::a_negate;
-}
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.legacy.transformed.expect
deleted file mode 100644
index 0af17a3..0000000
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a_not = !true;
-static field dynamic a_complement = 1.~();
-static field dynamic a_negate = 1.unary-();
-static method main() → dynamic {
-  self::a_not;
-  self::a_complement;
-  self::a_negate;
-}
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.legacy.expect
deleted file mode 100644
index a70d123..0000000
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ~() → core::int*
-    return 1;
-  operator unary-() → core::double*
-    return 2.0;
-}
-static field dynamic a = new self::A::•();
-static field dynamic v_complement = self::a.~();
-static field dynamic v_negate = self::a.unary-();
-static method main() → dynamic {
-  self::a;
-  self::v_complement;
-  self::v_negate;
-}
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.legacy.transformed.expect
deleted file mode 100644
index a70d123..0000000
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ~() → core::int*
-    return 1;
-  operator unary-() → core::double*
-    return 2.0;
-}
-static field dynamic a = new self::A::•();
-static field dynamic v_complement = self::a.~();
-static field dynamic v_negate = self::a.unary-();
-static method main() → dynamic {
-  self::a;
-  self::v_complement;
-  self::v_negate;
-}
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.legacy.expect
deleted file mode 100644
index b45d3019..0000000
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-
-static method test(() →* dynamic f, () →* dynamic g) → dynamic {
-  try {
-    f.call();
-  }
-  on dynamic catch(final dynamic _) {
-    g.call();
-    rethrow;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.legacy.transformed.expect
deleted file mode 100644
index b45d3019..0000000
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-
-static method test(() →* dynamic f, () →* dynamic g) → dynamic {
-  try {
-    f.call();
-  }
-  on dynamic catch(final dynamic _) {
-    g.call();
-    rethrow;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.legacy.expect
deleted file mode 100644
index 8c8697a..0000000
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method strings() → core::List<core::String> {
-  dynamic stuff = <dynamic>[].expand((dynamic i) → dynamic {
-    return <core::String>[];
-  });
-  return stuff.toList();
-}
-static method main() → dynamic {
-  self::strings();
-}
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.legacy.transformed.expect
deleted file mode 100644
index 8c8697a..0000000
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method strings() → core::List<core::String> {
-  dynamic stuff = <dynamic>[].expand((dynamic i) → dynamic {
-    return <core::String>[];
-  });
-  return stuff.toList();
-}
-static method main() → dynamic {
-  self::strings();
-}
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect
deleted file mode 100644
index f6981f8..0000000
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static set foo(core::int* x) → void {}
-}
-static set bar(core::int* x) → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect
deleted file mode 100644
index f6981f8..0000000
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static set foo(core::int* x) → void {}
-}
-static set bar(core::int* x) → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect
deleted file mode 100644
index c3c7f54..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::double*;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract set x(core::double* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect
deleted file mode 100644
index c3c7f54..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::double*;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract set x(core::double* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect
deleted file mode 100644
index b9b64b7..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect
deleted file mode 100644
index b9b64b7..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object implements self::B {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-abstract class B extends core::Object implements self::C {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-abstract class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract set x(core::int* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.legacy.expect
deleted file mode 100644
index b08a4da..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(() →* core::int* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract set x(() →* dynamic value) → void;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method g(self::B* b) → dynamic {
-  b.x = self::f<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.legacy.transformed.expect
deleted file mode 100644
index b08a4da..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(() →* core::int* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract set x(() →* dynamic value) → void;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method g(self::B* b) → dynamic {
-  b.x = self::f<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect
deleted file mode 100644
index 1a70d92..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(core::int* i) → void {}
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  set x(core::Object* o) → void {}
-}
-static method main() → dynamic {
-  new self::B::•().x = "hello";
-}
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect
deleted file mode 100644
index 1a70d92..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(core::int* i) → void {}
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  set x(core::Object* o) → void {}
-}
-static method main() → dynamic {
-  new self::B::•().x = "hello";
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.legacy.expect
deleted file mode 100644
index 187f7d9..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_transitively_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_statics_transitively_a.dart";
-
-static final field dynamic m1 = inf::a1;
-static final field dynamic m2 = inf::A::a2;
-static method foo() → dynamic {
-  core::int* i;
-  i = self::m1;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf2;
-import "infer_statics_transitively.dart" as self;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf2::b1;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = self::m2;
-static method main() → dynamic {}
-
-library;
-import self as inf2;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  inf2::b1;
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.legacy.transformed.expect
deleted file mode 100644
index 187f7d9..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_transitively_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_statics_transitively_a.dart";
-
-static final field dynamic m1 = inf::a1;
-static final field dynamic m2 = inf::A::a2;
-static method foo() → dynamic {
-  core::int* i;
-  i = self::m1;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf2;
-import "infer_statics_transitively.dart" as self;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf2::b1;
-  synthetic constructor •() → inf::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = self::m2;
-static method main() → dynamic {}
-
-library;
-import self as inf2;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  inf2::b1;
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.legacy.expect
deleted file mode 100644
index 9aa2047..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic x1 = #C1;
-static final field dynamic x2 = 1;
-static final field dynamic y1 = #C1;
-static final field dynamic y2 = self::x2;
-static method foo() → dynamic {
-  core::int* i;
-  i = self::y1;
-  i = self::y2;
-}
-static method main() → dynamic {
-  self::foo();
-}
-
-constants  {
-  #C1 = 1
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.legacy.transformed.expect
deleted file mode 100644
index 9aa2047..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic x1 = #C1;
-static final field dynamic x2 = 1;
-static final field dynamic y1 = #C1;
-static final field dynamic y2 = self::x2;
-static method foo() → dynamic {
-  core::int* i;
-  i = self::y1;
-  i = self::y2;
-}
-static method main() → dynamic {
-  self::foo();
-}
-
-constants  {
-  #C1 = 1
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.legacy.expect
deleted file mode 100644
index 11f8b40..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_statics_transitively3_a.dart";
-import "org-dartlang-testcase:///infer_statics_transitively3_a.dart" as p;
-
-static const field dynamic t1 = #C1;
-static const field dynamic t2 = #C1;
-static const field dynamic t3 = #C2;
-static const field dynamic t4 = #C3;
-static const field dynamic t5 = #C4;
-static const field dynamic t6 = #C4;
-static method foo() → dynamic {
-  core::int* i;
-  i = #C1;
-  i = #C1;
-  i = #C2;
-  i = #C3;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static const field dynamic a3 = #C4;
-  synthetic constructor •() → self2::A*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic a1 = #C2;
-static const field dynamic a2 = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = 3
-  #C3 = 4
-  #C4 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.legacy.transformed.expect
deleted file mode 100644
index 11f8b40..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_statics_transitively3_a.dart";
-import "org-dartlang-testcase:///infer_statics_transitively3_a.dart" as p;
-
-static const field dynamic t1 = #C1;
-static const field dynamic t2 = #C1;
-static const field dynamic t3 = #C2;
-static const field dynamic t4 = #C3;
-static const field dynamic t5 = #C4;
-static const field dynamic t6 = #C4;
-static method foo() → dynamic {
-  core::int* i;
-  i = #C1;
-  i = #C1;
-  i = #C2;
-  i = #C3;
-}
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static const field dynamic a3 = #C4;
-  synthetic constructor •() → self2::A*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic a1 = #C2;
-static const field dynamic a2 = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = 3
-  #C3 = 4
-  #C4 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.legacy.expect
deleted file mode 100644
index e0ed734..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static const field dynamic a3 = #C1;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic a1 = #C2;
-static const field dynamic a2 = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = 3
-  #C3 = 4
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.legacy.transformed.expect
deleted file mode 100644
index e0ed734..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static const field dynamic a3 = #C1;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static const field dynamic a1 = #C2;
-static const field dynamic a2 = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-  #C2 = 3
-  #C3 = 4
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.legacy.expect
deleted file mode 100644
index ecff101..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.legacy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf;
-import "infer_statics_transitively.dart" as test;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf::b1;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = test::m2;
-static method main() → dynamic {
-  self::a1;
-}
-
-library test;
-import self as test;
-import "dart:core" as core;
-import "infer_statics_transitively_a.dart" as inf2;
-
-import "org-dartlang-testcase:///infer_statics_transitively_a.dart";
-
-static final field dynamic m1 = inf2::a1;
-static final field dynamic m2 = inf2::A::a2;
-static method foo() → dynamic {
-  core::int* i;
-  i = test::m1;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  inf::b1;
-}
-
-library;
-import self as inf2;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf;
-import "infer_statics_transitively.dart" as test;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf::b1;
-  synthetic constructor •() → inf2::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = test::m2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.legacy.transformed.expect
deleted file mode 100644
index ecff101..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf;
-import "infer_statics_transitively.dart" as test;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf::b1;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = test::m2;
-static method main() → dynamic {
-  self::a1;
-}
-
-library test;
-import self as test;
-import "dart:core" as core;
-import "infer_statics_transitively_a.dart" as inf2;
-
-import "org-dartlang-testcase:///infer_statics_transitively_a.dart";
-
-static final field dynamic m1 = inf2::a1;
-static final field dynamic m2 = inf2::A::a2;
-static method foo() → dynamic {
-  core::int* i;
-  i = test::m1;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  inf::b1;
-}
-
-library;
-import self as inf2;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf;
-import "infer_statics_transitively.dart" as test;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf::b1;
-  synthetic constructor •() → inf2::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = test::m2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.legacy.expect
deleted file mode 100644
index e7a9250..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf;
-import "infer_statics_transitively.dart" as test;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf::b1;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = test::m2;
-static method main() → dynamic {}
-
-library test;
-import self as test;
-import "dart:core" as core;
-import "infer_statics_transitively_a.dart" as self;
-
-import "org-dartlang-testcase:///infer_statics_transitively_a.dart";
-
-static final field dynamic m1 = self::a1;
-static final field dynamic m2 = self::A::a2;
-static method foo() → dynamic {
-  core::int* i;
-  i = test::m1;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  inf::b1;
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.legacy.transformed.expect
deleted file mode 100644
index e7a9250..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_transitively_b.dart" as inf;
-import "infer_statics_transitively.dart" as test;
-
-import "org-dartlang-testcase:///infer_statics_transitively.dart";
-import "org-dartlang-testcase:///infer_statics_transitively_b.dart";
-
-class A extends core::Object {
-  static final field dynamic a2 = inf::b1;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static final field dynamic a1 = test::m2;
-static method main() → dynamic {}
-
-library test;
-import self as test;
-import "dart:core" as core;
-import "infer_statics_transitively_a.dart" as self;
-
-import "org-dartlang-testcase:///infer_statics_transitively_a.dart";
-
-static final field dynamic m1 = self::a1;
-static final field dynamic m2 = self::A::a2;
-static method foo() → dynamic {
-  core::int* i;
-  i = test::m1;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  inf::b1;
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.legacy.expect
deleted file mode 100644
index f95797d..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  self::b1;
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.legacy.transformed.expect
deleted file mode 100644
index f95797d..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static final field dynamic b1 = 2;
-static method main() → dynamic {
-  self::b1;
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.legacy.expect
deleted file mode 100644
index 575d442..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_with_method_invocations_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_statics_with_method_invocations_a.dart";
-
-class T extends core::Object {
-  static final field self::T* foo = self::T::m1(self::T::m2(inf::m3("", "")));
-  synthetic constructor •() → self::T*
-    : super core::Object::•()
-    ;
-  static method m1(core::String* m) → self::T* {
-    return null;
-  }
-  static method m2(dynamic e) → core::String* {
-    return "";
-  }
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-static method m3(core::String* a, core::String* b, [dynamic a1 = #C1, dynamic a2 = #C1]) → dynamic {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.legacy.transformed.expect
deleted file mode 100644
index 575d442..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_statics_with_method_invocations_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_statics_with_method_invocations_a.dart";
-
-class T extends core::Object {
-  static final field self::T* foo = self::T::m1(self::T::m2(inf::m3("", "")));
-  synthetic constructor •() → self::T*
-    : super core::Object::•()
-    ;
-  static method m1(core::String* m) → self::T* {
-    return null;
-  }
-  static method m2(dynamic e) → core::String* {
-    return "";
-  }
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-
-static method m3(core::String* a, core::String* b, [dynamic a1 = #C1, dynamic a2 = #C1]) → dynamic {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.legacy.expect
deleted file mode 100644
index e864516..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method m3(core::String* a, core::String* b, [dynamic a1 = #C1, dynamic a2 = #C1]) → dynamic {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.legacy.transformed.expect
deleted file mode 100644
index e864516..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method m3(core::String* a, core::String* b, [dynamic a1 = #C1, dynamic a2 = #C1]) → dynamic {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_throw.dart.legacy.expect
deleted file mode 100644
index 3c02469..0000000
--- a/pkg/front_end/testcases/inference/infer_throw.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic t = true;
-static field dynamic a = throw 0;
-static field dynamic b = (throw 0) ? 1 : 2;
-static field dynamic c = self::t ? throw 1 : 2;
-static field dynamic d = self::t ? 1 : throw 2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_throw.dart.legacy.transformed.expect
deleted file mode 100644
index 3c02469..0000000
--- a/pkg/front_end/testcases/inference/infer_throw.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic t = true;
-static field dynamic a = throw 0;
-static field dynamic b = (throw 0) ? 1 : 2;
-static field dynamic c = self::t ? throw 1 : 2;
-static field dynamic d = self::t ? 1 : throw 2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.legacy.expect
deleted file mode 100644
index e583c2a..0000000
--- a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = throw self::f<dynamic>();
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method g() → void {
-  dynamic x = throw self::f<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index e583c2a..0000000
--- a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = throw self::f<dynamic>();
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method g() → void {
-  dynamic x = throw self::f<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect
deleted file mode 100644
index 0e2e69f..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get x() → core::int*
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect
deleted file mode 100644
index 0e2e69f..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get x() → core::int*
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect
deleted file mode 100644
index 6a36b47..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect
deleted file mode 100644
index 6a36b47..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.legacy.expect
deleted file mode 100644
index 79d961d..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::int* x = 3;
-  x = "hi";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.legacy.transformed.expect
deleted file mode 100644
index 79d961d..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::int* x = 3;
-  x = "hi";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.legacy.expect
deleted file mode 100644
index b176583..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method test2() → dynamic {
-  dynamic x = 3;
-  x = "hi";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.legacy.transformed.expect
deleted file mode 100644
index b176583..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method test2() → dynamic {
-  dynamic x = 3;
-  x = "hi";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.legacy.expect
deleted file mode 100644
index c54d071..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 0;
-  field core::int* y = null;
-  final field dynamic z = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method test1() → dynamic {
-    dynamic a = this.{self::A::x};
-    a = "hi";
-    a = 3;
-    dynamic b = this.{self::A::y};
-    b = "hi";
-    b = 4;
-    dynamic c = this.{self::A::z};
-    c = "hi";
-    c = 4;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.legacy.transformed.expect
deleted file mode 100644
index c54d071..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 0;
-  field core::int* y = null;
-  final field dynamic z = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method test1() → dynamic {
-    dynamic a = this.{self::A::x};
-    a = "hi";
-    a = 3;
-    dynamic b = this.{self::A::y};
-    b = "hi";
-    b = 4;
-    dynamic c = this.{self::A::z};
-    c = "hi";
-    c = 4;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.legacy.expect
deleted file mode 100644
index 1e4ac2c..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* x = 0;
-static field core::int* y = 0;
-static final field dynamic z = 42;
-static method test1() → dynamic {
-  dynamic a = self::x;
-  a = "hi";
-  a = 3;
-  dynamic b = self::y;
-  b = "hi";
-  b = 4;
-  dynamic c = self::z;
-  c = "hi";
-  c = 4;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index 1e4ac2c..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* x = 0;
-static field core::int* y = 0;
-static final field dynamic z = 42;
-static method test1() → dynamic {
-  dynamic a = self::x;
-  a = "hi";
-  a = 3;
-  dynamic b = self::y;
-  b = "hi";
-  b = 4;
-  dynamic c = self::z;
-  c = "hi";
-  c = 4;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect
deleted file mode 100644
index 5caf115..0000000
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library test;
-import self as self;
-import "infer_type_regardless_of_declaration_order_or_cycles_b.dart" as inf;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles_b.dart";
-
-class C extends inf::B {
-  synthetic constructor •() → self::C*
-    : super inf::B::•()
-    ;
-  get x() → core::int*
-    return null;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-static method foo() → dynamic {
-  core::int* y = new self::C::•().x;
-  core::String* z = new self::C::•().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
-
-library;
-import self as inf;
-import "infer_type_regardless_of_declaration_order_or_cycles.dart" as self;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles.dart";
-
-class B extends self::A {
-  synthetic constructor •() → inf::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect
deleted file mode 100644
index 5caf115..0000000
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library test;
-import self as self;
-import "infer_type_regardless_of_declaration_order_or_cycles_b.dart" as inf;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles_b.dart";
-
-class C extends inf::B {
-  synthetic constructor •() → self::C*
-    : super inf::B::•()
-    ;
-  get x() → core::int*
-    return null;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-static method foo() → dynamic {
-  core::int* y = new self::C::•().x;
-  core::String* z = new self::C::•().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
-
-library;
-import self as inf;
-import "infer_type_regardless_of_declaration_order_or_cycles.dart" as self;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles.dart";
-
-class B extends self::A {
-  synthetic constructor •() → inf::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect
deleted file mode 100644
index 152515f..0000000
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "infer_type_regardless_of_declaration_order_or_cycles.dart" as test;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles.dart";
-
-class B extends test::A {
-  synthetic constructor •() → self::B*
-    : super test::A::•()
-    ;
-}
-static method main() → dynamic {}
-
-library test;
-import self as test;
-import "infer_type_regardless_of_declaration_order_or_cycles_b.dart" as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles_b.dart";
-
-class C extends self::B {
-  synthetic constructor •() → test::C*
-    : super self::B::•()
-    ;
-  get x() → core::int*
-    return null;
-}
-class A extends core::Object {
-  synthetic constructor •() → test::A*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-static method foo() → dynamic {
-  core::int* y = new test::C::•().x;
-  core::String* z = new test::C::•().x;
-}
-static method main() → dynamic {
-  test::foo();
-}
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect
deleted file mode 100644
index 152515f..0000000
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "infer_type_regardless_of_declaration_order_or_cycles.dart" as test;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles.dart";
-
-class B extends test::A {
-  synthetic constructor •() → self::B*
-    : super test::A::•()
-    ;
-}
-static method main() → dynamic {}
-
-library test;
-import self as test;
-import "infer_type_regardless_of_declaration_order_or_cycles_b.dart" as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_type_regardless_of_declaration_order_or_cycles_b.dart";
-
-class C extends self::B {
-  synthetic constructor •() → test::C*
-    : super self::B::•()
-    ;
-  get x() → core::int*
-    return null;
-}
-class A extends core::Object {
-  synthetic constructor •() → test::A*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-static method foo() → dynamic {
-  core::int* y = new test::C::•().x;
-  core::String* z = new test::C::•().x;
-}
-static method main() → dynamic {
-  test::foo();
-}
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.legacy.expect
deleted file mode 100644
index 7291a56..0000000
--- a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic a = <core::int*, core::String*>{0: "aaa", 1: "bbb"};
-static field dynamic b = <core::double*, core::int*>{1.1: 1, 2.2: 2};
-static field dynamic c = <core::List<core::int*>*, core::Map<core::String*, core::double*>*>{};
-static field dynamic d = <core::int*, dynamic>{};
-static field dynamic e = <dynamic, core::int*>{};
-static field dynamic f = <dynamic, dynamic>{};
-static method main() → dynamic {
-  self::a;
-  self::b;
-  self::c;
-  self::d;
-  self::e;
-  self::f;
-}
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.legacy.transformed.expect
deleted file mode 100644
index 7291a56..0000000
--- a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic a = <core::int*, core::String*>{0: "aaa", 1: "bbb"};
-static field dynamic b = <core::double*, core::int*>{1.1: 1, 2.2: 2};
-static field dynamic c = <core::List<core::int*>*, core::Map<core::String*, core::double*>*>{};
-static field dynamic d = <core::int*, dynamic>{};
-static field dynamic e = <dynamic, core::int*>{};
-static field dynamic f = <dynamic, dynamic>{};
-static method main() → dynamic {
-  self::a;
-  self::b;
-  self::c;
-  self::d;
-  self::e;
-  self::f;
-}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect
deleted file mode 100644
index 3514708..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  final field self::A::T* x = null;
-  final field self::A::T* w = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A<core::int*> {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 3;
-  get w() → core::int*
-    return "hello";
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect
deleted file mode 100644
index 3514708..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  final field self::A::T* x = null;
-  final field self::A::T* w = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A<core::int*> {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 3;
-  get w() → core::int*
-    return "hello";
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect
deleted file mode 100644
index 045d718..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::A::T* x = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> {
-  generic-covariant-impl field self::B::E* y = null;
-  synthetic constructor •() → self::B<self::B::E*>*
-    : super self::A::•()
-    ;
-  get x() → self::B::E*
-    return this.{self::B::y};
-}
-static method foo() → dynamic {
-  core::int* y = new self::B::•<core::String*>().x;
-  core::String* z = new self::B::•<core::String*>().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect
deleted file mode 100644
index 045d718..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::A::T* x = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> {
-  generic-covariant-impl field self::B::E* y = null;
-  synthetic constructor •() → self::B<self::B::E*>*
-    : super self::A::•()
-    ;
-  get x() → self::B::E*
-    return this.{self::B::y};
-}
-static method foo() → dynamic {
-  core::int* y = new self::B::•<core::String*>().x;
-  core::String* z = new self::B::•<core::String*>().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect
deleted file mode 100644
index 5643863..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class I<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, self::I::E*) →* core::String* f) → core::String*;
-}
-abstract class A<E extends core::Object* = dynamic> extends core::Object implements self::I<self::A::E*> {
-  const constructor •() → self::A<self::A::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, self::A::E*) →* core::String* f) → core::String*;
-}
-abstract class M extends core::Object {
-  final field core::int* y = 0;
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> implements self::M {
-  const constructor •() → self::B<self::B::E*>*
-    : super self::A::•()
-    ;
-  get y() → core::int*
-    return 0;
-  method m(dynamic a, (dynamic, self::B::E*) →* dynamic f) → core::String* {}
-}
-static method foo() → dynamic {
-  core::int* y = new self::B::•<dynamic>().m(null, null);
-  core::String* z = new self::B::•<dynamic>().m(null, null);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect
deleted file mode 100644
index 5643863..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class I<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, self::I::E*) →* core::String* f) → core::String*;
-}
-abstract class A<E extends core::Object* = dynamic> extends core::Object implements self::I<self::A::E*> {
-  const constructor •() → self::A<self::A::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, self::A::E*) →* core::String* f) → core::String*;
-}
-abstract class M extends core::Object {
-  final field core::int* y = 0;
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> implements self::M {
-  const constructor •() → self::B<self::B::E*>*
-    : super self::A::•()
-    ;
-  get y() → core::int*
-    return 0;
-  method m(dynamic a, (dynamic, self::B::E*) →* dynamic f) → core::String* {}
-}
-static method foo() → dynamic {
-  core::int* y = new self::B::•<dynamic>().m(null, null);
-  core::String* z = new self::B::•<dynamic>().m(null, null);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect
deleted file mode 100644
index d358825..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle_a.dart";
-
-abstract class A<E extends core::Object* = dynamic> extends core::Object implements inf::I<self::A::E*> {
-  final field self::A::E* value = null;
-  const constructor •() → self::A<self::A::E*>*
-    : super core::Object::•()
-    ;
-}
-abstract class M extends core::Object {
-  final field core::int* y = 0;
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> implements self::M {
-  const constructor •() → self::B<self::B::E*>*
-    : super self::A::•()
-    ;
-  get y() → core::int*
-    return 0;
-  method m(dynamic a, (dynamic, core::int*) →* dynamic f) → self::A<self::B::E*>* {}
-}
-static method foo() → dynamic {
-  core::int* y = new self::B::•<core::String*>().m(null, null).value;
-  core::String* z = new self::B::•<core::String*>().m(null, null).value;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle.dart" as self;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle.dart";
-
-abstract class I<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → inf::I<inf::I::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, core::int*) →* core::String* f) → self::A<inf::I::E*>*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect
deleted file mode 100644
index d358825..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle_a.dart" as inf;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle_a.dart";
-
-abstract class A<E extends core::Object* = dynamic> extends core::Object implements inf::I<self::A::E*> {
-  final field self::A::E* value = null;
-  const constructor •() → self::A<self::A::E*>*
-    : super core::Object::•()
-    ;
-}
-abstract class M extends core::Object {
-  final field core::int* y = 0;
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends self::A<self::B::E*> implements self::M {
-  const constructor •() → self::B<self::B::E*>*
-    : super self::A::•()
-    ;
-  get y() → core::int*
-    return 0;
-  method m(dynamic a, (dynamic, core::int*) →* dynamic f) → self::A<self::B::E*>* {}
-}
-static method foo() → dynamic {
-  core::int* y = new self::B::•<core::String*>().m(null, null).value;
-  core::String* z = new self::B::•<core::String*>().m(null, null).value;
-}
-static method main() → dynamic {}
-
-library;
-import self as inf;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle.dart" as self;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle.dart";
-
-abstract class I<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → inf::I<inf::I::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, core::int*) →* core::String* f) → self::A<inf::I::E*>*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect
deleted file mode 100644
index b0e9552..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle.dart" as test;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle.dart";
-
-abstract class I<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, core::int*) →* core::String* f) → test::A<self::I::E*>*;
-}
-static method main() → dynamic {}
-
-library test;
-import self as test;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle_a.dart" as self;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle_a.dart";
-
-abstract class A<E extends core::Object* = dynamic> extends core::Object implements self::I<test::A::E*> {
-  final field test::A::E* value = null;
-  const constructor •() → test::A<test::A::E*>*
-    : super core::Object::•()
-    ;
-}
-abstract class M extends core::Object {
-  final field core::int* y = 0;
-  synthetic constructor •() → test::M*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends test::A<test::B::E*> implements test::M {
-  const constructor •() → test::B<test::B::E*>*
-    : super test::A::•()
-    ;
-  get y() → core::int*
-    return 0;
-  method m(dynamic a, (dynamic, core::int*) →* dynamic f) → test::A<test::B::E*>* {}
-}
-static method foo() → dynamic {
-  core::int* y = new test::B::•<core::String*>().m(null, null).value;
-  core::String* z = new test::B::•<core::String*>().m(null, null).value;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect
deleted file mode 100644
index b0e9552..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle.dart" as test;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle.dart";
-
-abstract class I<E extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::E*>*
-    : super core::Object::•()
-    ;
-  abstract method m(dynamic a, (dynamic, core::int*) →* core::String* f) → test::A<self::I::E*>*;
-}
-static method main() → dynamic {}
-
-library test;
-import self as test;
-import "dart:core" as core;
-import "infer_types_on_generic_instantiations_in_library_cycle_a.dart" as self;
-
-import "org-dartlang-testcase:///infer_types_on_generic_instantiations_in_library_cycle_a.dart";
-
-abstract class A<E extends core::Object* = dynamic> extends core::Object implements self::I<test::A::E*> {
-  final field test::A::E* value = null;
-  const constructor •() → test::A<test::A::E*>*
-    : super core::Object::•()
-    ;
-}
-abstract class M extends core::Object {
-  final field core::int* y = 0;
-  synthetic constructor •() → test::M*
-    : super core::Object::•()
-    ;
-}
-class B<E extends core::Object* = dynamic> extends test::A<test::B::E*> implements test::M {
-  const constructor •() → test::B<test::B::E*>*
-    : super test::A::•()
-    ;
-  get y() → core::int*
-    return 0;
-  method m(dynamic a, (dynamic, core::int*) →* dynamic f) → test::A<test::B::E*>* {}
-}
-static method foo() → dynamic {
-  core::int* y = new test::B::•<core::String*>().m(null, null).value;
-  core::String* z = new test::B::•<core::String*>().m(null, null).value;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.legacy.expect
deleted file mode 100644
index d1fe270..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  final field self::A::T* x = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A<core::int*> {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.legacy.transformed.expect
deleted file mode 100644
index d1fe270..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  final field self::A::T* x = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A<core::int*> {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return 3;
-}
-static method foo() → dynamic {
-  core::String* y = new self::B::•().x;
-  core::int* z = new self::B::•().x;
-}
-static method main() → dynamic {
-  self::foo();
-}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.legacy.expect
deleted file mode 100644
index 78e3a2c..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.legacy.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* bar = 42;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar<T extends core::Iterable<core::String*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Bar::T* t) → void {
-    for (dynamic i in t) {
-      core::int* x = i;
-    }
-  }
-}
-class Baz<T extends core::Object* = dynamic, E extends core::Iterable<self::Baz::T*>* = dynamic, S extends self::Baz::E* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Baz<self::Baz::T*, self::Baz::E*, self::Baz::S*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Baz::S* t) → void {
-    for (dynamic i in t) {
-      core::int* x = i;
-      self::Baz::T* y = i;
-    }
-  }
-}
-static method test() → dynamic {
-  dynamic list = <self::Foo*>[];
-  for (dynamic x in list) {
-    core::String* y = x;
-  }
-  for (dynamic x in list) {
-    core::String* y = x;
-  }
-  for (core::String* x in list) {
-    core::String* y = x;
-  }
-  dynamic z;
-  for (final dynamic #t1 in list) {
-    z = #t1;
-    core::String* y = z;
-  }
-  core::Iterable<dynamic>* iter = list;
-  for (self::Foo* x in iter) {
-    dynamic y = x;
-  }
-  dynamic iter2 = list;
-  for (self::Foo* x in iter2) {
-    dynamic y = x;
-  }
-  dynamic map = <core::String*, self::Foo*>{};
-  for (dynamic x in map) {
-    core::String* y = x;
-  }
-  for (dynamic x in map.keys) {
-    core::String* y = x;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.legacy.transformed.expect
deleted file mode 100644
index 78e3a2c..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* bar = 42;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar<T extends core::Iterable<core::String*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Bar::T* t) → void {
-    for (dynamic i in t) {
-      core::int* x = i;
-    }
-  }
-}
-class Baz<T extends core::Object* = dynamic, E extends core::Iterable<self::Baz::T*>* = dynamic, S extends self::Baz::E* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Baz<self::Baz::T*, self::Baz::E*, self::Baz::S*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Baz::S* t) → void {
-    for (dynamic i in t) {
-      core::int* x = i;
-      self::Baz::T* y = i;
-    }
-  }
-}
-static method test() → dynamic {
-  dynamic list = <self::Foo*>[];
-  for (dynamic x in list) {
-    core::String* y = x;
-  }
-  for (dynamic x in list) {
-    core::String* y = x;
-  }
-  for (core::String* x in list) {
-    core::String* y = x;
-  }
-  dynamic z;
-  for (final dynamic #t1 in list) {
-    z = #t1;
-    core::String* y = z;
-  }
-  core::Iterable<dynamic>* iter = list;
-  for (self::Foo* x in iter) {
-    dynamic y = x;
-  }
-  dynamic iter2 = list;
-  for (self::Foo* x in iter2) {
-    dynamic y = x;
-  }
-  dynamic map = <core::String*, self::Foo*>{};
-  for (dynamic x in map) {
-    core::String* y = x;
-  }
-  for (dynamic x in map.keys) {
-    core::String* y = x;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.legacy.expect
deleted file mode 100644
index 889f286..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.legacy.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class Foo extends core::Object {
-  field core::int* bar = 42;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar<T extends asy::Stream<core::String*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Bar::T* t) → dynamic async {
-    await for (dynamic i in t) {
-      core::int* x = i;
-    }
-  }
-}
-class Baz<T extends core::Object* = dynamic, E extends asy::Stream<self::Baz::T*>* = dynamic, S extends self::Baz::E* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Baz<self::Baz::T*, self::Baz::E*, self::Baz::S*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Baz::S* t) → dynamic async {
-    await for (dynamic i in t) {
-      core::int* x = i;
-      self::Baz::T* y = i;
-    }
-  }
-}
-abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<self::MyStream::T*> {
-  static factory •<T extends core::Object* = dynamic>() → self::MyStream<self::MyStream::•::T*>*
-    return null;
-}
-static method test() → dynamic async {
-  dynamic myStream = self::MyStream::•<self::Foo*>();
-  await for (dynamic x in myStream) {
-    core::String* y = x;
-  }
-  await for (dynamic x in myStream) {
-    core::String* y = x;
-  }
-  await for (core::String* x in myStream) {
-    core::String* y = x;
-  }
-  dynamic z;
-  await for (final dynamic #t1 in myStream) {
-    z = #t1;
-    core::String* y = z;
-  }
-  asy::Stream<dynamic>* stream = myStream;
-  await for (self::Foo* x in stream) {
-    dynamic y = x;
-  }
-  dynamic stream2 = myStream;
-  await for (self::Foo* x in stream2) {
-    dynamic y = x;
-  }
-  dynamic map = <core::String*, self::Foo*>{};
-  await for (dynamic x in map) {
-    core::String* y = x;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.legacy.transformed.expect
deleted file mode 100644
index 765571c..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,338 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class Foo extends core::Object {
-  field core::int* bar = 42;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-class Bar<T extends asy::Stream<core::String*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Bar::T* t) → dynamic /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    dynamic :exception0;
-    dynamic :stack_trace0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          {
-            dynamic :stream = t;
-            asy::_asyncStarListenHelper(:stream, :async_op);
-            asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-            try
-              #L2:
-              while (true) {
-                dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
-                [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-                if(:result) {
-                  dynamic i = :for-iterator.{asy::_StreamIterator::current};
-                  {
-                    core::int* x = i;
-                  }
-                }
-                else
-                  break #L2;
-              }
-            finally
-              if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-                [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-                :result;
-              }
-          }
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-}
-class Baz<T extends core::Object* = dynamic, E extends asy::Stream<self::Baz::T*>* = dynamic, S extends self::Baz::E* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Baz<self::Baz::T*, self::Baz::E*, self::Baz::S*>*
-    : super core::Object::•()
-    ;
-  method foo(generic-covariant-impl self::Baz::S* t) → dynamic /* originally async */ {
-    final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-    asy::FutureOr<dynamic>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    dynamic :exception0;
-    dynamic :stack_trace0;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L3:
-        {
-          {
-            dynamic :stream = t;
-            asy::_asyncStarListenHelper(:stream, :async_op);
-            asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-            try
-              #L4:
-              while (true) {
-                dynamic #t4 = asy::_asyncStarMoveNextHelper(:stream);
-                [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-                if(:result) {
-                  dynamic i = :for-iterator.{asy::_StreamIterator::current};
-                  {
-                    core::int* x = i;
-                    self::Baz::T* y = i;
-                  }
-                }
-                else
-                  break #L4;
-              }
-            finally
-              if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-                [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-                :result;
-              }
-          }
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-}
-abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<self::MyStream::T*> {
-  static factory •<T extends core::Object* = dynamic>() → self::MyStream<self::MyStream::•::T*>*
-    return null;
-}
-static method test() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  dynamic :exception0;
-  dynamic :stack_trace0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L5:
-      {
-        dynamic myStream = self::MyStream::•<self::Foo*>();
-        {
-          dynamic :stream = myStream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L6:
-            while (true) {
-              dynamic #t7 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  core::String* y = x;
-                }
-              }
-              else
-                break #L6;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = myStream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L7:
-            while (true) {
-              dynamic #t10 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  core::String* y = x;
-                }
-              }
-              else
-                break #L7;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        {
-          dynamic :stream = myStream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::String*>* :for-iterator = new asy::_StreamIterator::•<core::String*>(:stream);
-          try
-            #L8:
-            while (true) {
-              dynamic #t13 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                core::String* x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  core::String* y = x;
-                }
-              }
-              else
-                break #L8;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        dynamic z;
-        {
-          dynamic :stream = myStream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L9:
-            while (true) {
-              dynamic #t16 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                final dynamic #t18 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  z = #t18;
-                  core::String* y = z;
-                }
-              }
-              else
-                break #L9;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t19 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        asy::Stream<dynamic>* stream = myStream;
-        {
-          dynamic :stream = stream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<self::Foo*>* :for-iterator = new asy::_StreamIterator::•<self::Foo*>(:stream);
-          try
-            #L10:
-            while (true) {
-              dynamic #t20 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t21 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                self::Foo* x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  dynamic y = x;
-                }
-              }
-              else
-                break #L10;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        dynamic stream2 = myStream;
-        {
-          dynamic :stream = stream2;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<self::Foo*>* :for-iterator = new asy::_StreamIterator::•<self::Foo*>(:stream);
-          try
-            #L11:
-            while (true) {
-              dynamic #t23 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                self::Foo* x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  dynamic y = x;
-                }
-              }
-              else
-                break #L11;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t25 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        dynamic map = <core::String*, self::Foo*>{};
-        {
-          dynamic :stream = map;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L12:
-            while (true) {
-              dynamic #t26 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t27 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                dynamic x = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  core::String* y = x;
-                }
-              }
-              else
-                break #L12;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t28 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.legacy.expect
deleted file mode 100644
index 06fd21c0..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  for (dynamic i = 0; i.<(10); i = i.+(1)) {
-    core::int* j = i.+(1);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 06fd21c0..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  for (dynamic i = 0; i.<(10); i = i.+(1)) {
-    core::int* j = i.+(1);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.legacy.expect
deleted file mode 100644
index cfdd2e4..0000000
--- a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method f() → void {}
-static method g() → void {
-  dynamic x = self::f();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.legacy.transformed.expect
deleted file mode 100644
index cfdd2e4..0000000
--- a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method f() → void {}
-static method g() → void {
-  dynamic x = self::f();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.legacy.expect
deleted file mode 100644
index 1d9c92b..0000000
--- a/pkg/front_end/testcases/inference/infer_variable_void.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = self::f();
-static method f() → void {}
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.legacy.transformed.expect
deleted file mode 100644
index 1d9c92b..0000000
--- a/pkg/front_end/testcases/inference/infer_variable_void.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = self::f();
-static method f() → void {}
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.legacy.expect
deleted file mode 100644
index 3b69780..0000000
--- a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic x = 1;
-  constructor •([dynamic x = #C1]) → self::Foo*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = "1"
-}
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.legacy.transformed.expect
deleted file mode 100644
index 3b69780..0000000
--- a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic x = 1;
-  constructor •([dynamic x = #C1]) → self::Foo*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = "1"
-}
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.legacy.expect
deleted file mode 100644
index 04dea03..0000000
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic x = "x";
-  field dynamic y = <dynamic, dynamic>{"a": <dynamic, dynamic>{"b": "c"}, "d": <dynamic, dynamic>{"e": self::C::x}};
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.legacy.transformed.expect
deleted file mode 100644
index 04dea03..0000000
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic x = "x";
-  field dynamic y = <dynamic, dynamic>{"a": <dynamic, dynamic>{"b": "c"}, "d": <dynamic, dynamic>{"e": self::C::x}};
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.legacy.expect
deleted file mode 100644
index 64cc3a6..0000000
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic y = self::x;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = "x";
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.legacy.transformed.expect
deleted file mode 100644
index 64cc3a6..0000000
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic y = self::x;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = "x";
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.legacy.expect
deleted file mode 100644
index 17cd71fd..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic f = () → dynamic {};
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.legacy.transformed.expect
deleted file mode 100644
index 17cd71fd..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic f = () → dynamic {};
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.legacy.expect
deleted file mode 100644
index 82cbdb0..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •(() →* void func) → self::C*
-    : super core::Object::•() {}
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•(() → dynamic {});
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.legacy.transformed.expect
deleted file mode 100644
index 82cbdb0..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •(() →* void func) → self::C*
-    : super core::Object::•() {}
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•(() → dynamic {});
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.legacy.expect
deleted file mode 100644
index ee57bb7..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  field core::List<core::int*>* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method m() → void {}
-}
-static field dynamic v = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.a = 1 in let final dynamic #t3 = #t1.b.add(2) in let final dynamic #t4 = #t1.m() in #t1;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.legacy.transformed.expect
deleted file mode 100644
index ee57bb7..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  field core::List<core::int*>* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method m() → void {}
-}
-static field dynamic v = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.a = 1 in let final dynamic #t3 = #t1.b.add(2) in let final dynamic #t4 = #t1.m() in #t1;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.legacy.expect
deleted file mode 100644
index 40a93ab..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator *(self::C* other) → core::bool*
-    return true;
-}
-static field self::C* c = new self::C::•();
-static field dynamic x = self::c.*(self::c);
-static method main() → dynamic {
-  self::c;
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.legacy.transformed.expect
deleted file mode 100644
index 40a93ab..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator *(self::C* other) → core::bool*
-    return true;
-}
-static field self::C* c = new self::C::•();
-static field dynamic x = self::c.*(self::c);
-static method main() → dynamic {
-  self::c;
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.legacy.expect
deleted file mode 100644
index 9648784..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator *(self::C* other) → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field self::C* c;
-static field dynamic x = self::c.*(self::c);
-static method main() → dynamic {
-  self::c;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.legacy.transformed.expect
deleted file mode 100644
index 9648784..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator *(self::C* other) → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field self::C* c;
-static field dynamic x = self::c.*(self::c);
-static method main() → dynamic {
-  self::c;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.legacy.expect
deleted file mode 100644
index 441c2d0..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator [](core::int* index) → core::bool*
-    return true;
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  dynamic x = c.[](0);
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.legacy.transformed.expect
deleted file mode 100644
index 441c2d0..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator [](core::int* index) → core::bool*
-    return true;
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  dynamic x = c.[](0);
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.legacy.expect
deleted file mode 100644
index 98cc552..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator [](core::int* index) → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method f() → dynamic {
-  self::C* c;
-  dynamic x = c.[](0);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.legacy.transformed.expect
deleted file mode 100644
index 98cc552..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator [](core::int* index) → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method f() → dynamic {
-  self::C* c;
-  dynamic x = c.[](0);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.legacy.expect
deleted file mode 100644
index 8c0ca7b..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator unary-() → core::bool*
-    return true;
-}
-static field self::C* c = new self::C::•();
-static field dynamic x = self::c.unary-();
-static method main() → dynamic {
-  self::c;
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.legacy.transformed.expect
deleted file mode 100644
index 8c0ca7b..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator unary-() → core::bool*
-    return true;
-}
-static field self::C* c = new self::C::•();
-static field dynamic x = self::c.unary-();
-static method main() → dynamic {
-  self::c;
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.legacy.expect
deleted file mode 100644
index cc0b9be..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator unary-() → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field self::C* c;
-static field dynamic x = self::c.unary-();
-static method main() → dynamic {
-  self::c;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.legacy.transformed.expect
deleted file mode 100644
index cc0b9be..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  operator unary-() → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field self::C* c;
-static field dynamic x = self::c.unary-();
-static method main() → dynamic {
-  self::c;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.legacy.expect
deleted file mode 100644
index 84a51f4..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-static field dynamic x = self::f().g;
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.legacy.transformed.expect
deleted file mode 100644
index 84a51f4..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-static field dynamic x = self::f().g;
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.legacy.expect
deleted file mode 100644
index ffe981e..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = self::f().g;
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.legacy.transformed.expect
deleted file mode 100644
index ffe981e..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = self::f().g;
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.legacy.expect
deleted file mode 100644
index 5dc20b4..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = #C1;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff core::print
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.legacy.transformed.expect
deleted file mode 100644
index 5dc20b4..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = #C1;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff core::print
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.legacy.expect
deleted file mode 100644
index 2bc2b99..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-static field dynamic x = self::f().g();
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.legacy.transformed.expect
deleted file mode 100644
index 2bc2b99..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-static field dynamic x = self::f().g();
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.legacy.expect
deleted file mode 100644
index f5db8e5..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = self::f().g();
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.legacy.transformed.expect
deleted file mode 100644
index f5db8e5..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method g() → core::bool*
-    return true;
-}
-abstract class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = self::f().g();
-static method f() → self::C*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.legacy.expect
deleted file mode 100644
index 900b983..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class E extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = #C4;
-  static const field self::E* v1 = #C3;
-  const constructor •(core::int* index, core::String* _name) → self::E*
-    : self::E::index = index, self::E::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::E::_name};
-}
-static final field dynamic x = #C3;
-static method main() → dynamic {
-  self::x;
-}
-
-constants  {
-  #C1 = 0
-  #C2 = "E.v1"
-  #C3 = self::E {index:#C1, _name:#C2}
-  #C4 = <self::E*>[#C3]
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.legacy.transformed.expect
deleted file mode 100644
index 900b983..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class E extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = #C4;
-  static const field self::E* v1 = #C3;
-  const constructor •(core::int* index, core::String* _name) → self::E*
-    : self::E::index = index, self::E::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::E::_name};
-}
-static final field dynamic x = #C3;
-static method main() → dynamic {
-  self::x;
-}
-
-constants  {
-  #C1 = 0
-  #C2 = "E.v1"
-  #C3 = self::E {index:#C1, _name:#C2}
-  #C4 = <self::E*>[#C3]
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.legacy.expect
deleted file mode 100644
index 0661f2d..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class E extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = #C4;
-  static const field self::E* v1 = #C3;
-  const constructor •(core::int* index, core::String* _name) → self::E*
-    : self::E::index = index, self::E::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::E::_name};
-}
-static final field dynamic x = #C4;
-static method main() → dynamic {
-  self::x;
-}
-
-constants  {
-  #C1 = 0
-  #C2 = "E.v1"
-  #C3 = self::E {index:#C1, _name:#C2}
-  #C4 = <self::E*>[#C3]
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.legacy.transformed.expect
deleted file mode 100644
index 0661f2d..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class E extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = #C4;
-  static const field self::E* v1 = #C3;
-  const constructor •(core::int* index, core::String* _name) → self::E*
-    : self::E::index = index, self::E::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::E::_name};
-}
-static final field dynamic x = #C4;
-static method main() → dynamic {
-  self::x;
-}
-
-constants  {
-  #C1 = 0
-  #C2 = "E.v1"
-  #C3 = self::E {index:#C1, _name:#C2}
-  #C4 = <self::E*>[#C3]
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.legacy.expect
deleted file mode 100644
index 07ed233..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* void;
-static final field dynamic x = <core::String*, () →* void>{};
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.legacy.transformed.expect
deleted file mode 100644
index 07ed233..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* void;
-static final field dynamic x = <core::String*, () →* void>{};
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.legacy.expect
deleted file mode 100644
index 6ae1be2..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = () →* T*;
-static final field dynamic x = <core::String*, () →* core::int*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.legacy.transformed.expect
deleted file mode 100644
index 6ae1be2..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = () →* T*;
-static final field dynamic x = <core::String*, () →* core::int*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.legacy.expect
deleted file mode 100644
index bb0516c..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f() → core::int*
-  return null;
-static method g() → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.legacy.transformed.expect
deleted file mode 100644
index bb0516c..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f() → core::int*
-  return null;
-static method g() → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.legacy.expect
deleted file mode 100644
index a564b72..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f((core::String*) →* core::int* x) → core::int*
-  return null;
-static method g((core::String*) →* core::int* x) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.legacy.transformed.expect
deleted file mode 100644
index a564b72..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f((core::String*) →* core::int* x) → core::int*
-  return null;
-static method g((core::String*) →* core::int* x) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.legacy.expect
deleted file mode 100644
index 226714e..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f({core::int* x = #C3}) → core::int*
-  return null;
-static method g({core::int* x = #C3}) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.legacy.transformed.expect
deleted file mode 100644
index 226714e..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f({core::int* x = #C3}) → core::int*
-  return null;
-static method g({core::int* x = #C3}) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.legacy.expect
deleted file mode 100644
index 51aa529..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f([core::int* x = #C3]) → core::int*
-  return null;
-static method g([core::int* x = #C3]) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.legacy.transformed.expect
deleted file mode 100644
index 51aa529..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f([core::int* x = #C3]) → core::int*
-  return null;
-static method g([core::int* x = #C3]) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.legacy.expect
deleted file mode 100644
index e6fb1b4..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f(core::int* x) → core::int*
-  return null;
-static method g(core::int* x) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.legacy.transformed.expect
deleted file mode 100644
index e6fb1b4..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = <dynamic>[#C1, #C2];
-static method f(core::int* x) → core::int*
-  return null;
-static method g(core::int* x) → core::String*
-  return null;
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::g
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.legacy.expect
deleted file mode 100644
index 17fd178..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static final field dynamic f = (core::bool* b) → dynamic => (core::int* i) → dynamic => <dynamic, dynamic>{i: b};
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.legacy.transformed.expect
deleted file mode 100644
index 17fd178..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static final field dynamic f = (core::bool* b) → dynamic => (core::int* i) → dynamic => <dynamic, dynamic>{i: b};
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.legacy.expect
deleted file mode 100644
index 32f5ef7..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static final field dynamic f = (core::bool* b) → dynamic => b;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.legacy.transformed.expect
deleted file mode 100644
index 32f5ef7..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static final field dynamic f = (core::bool* b) → dynamic => b;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.legacy.expect
deleted file mode 100644
index dde9841..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static final field dynamic f = (core::bool* b) → dynamic => 1;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.legacy.transformed.expect
deleted file mode 100644
index dde9841..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static final field dynamic f = (core::bool* b) → dynamic => 1;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.legacy.expect
deleted file mode 100644
index 46b6aaa..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static final field dynamic f = (core::bool* b) → dynamic => 1;
-static method main() → dynamic {
-  self::f;
-}
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index 46b6aaa..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static final field dynamic f = (core::bool* b) → dynamic => 1;
-static method main() → dynamic {
-  self::f;
-}
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.legacy.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.legacy.expect
deleted file mode 100644
index 85fcbe3..0000000
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I1 extends core::Object {
-  final field dynamic x = self::y;
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-}
-abstract class I2 extends core::Object {
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::num*;
-}
-class C extends core::Object implements self::I1, self::I2 {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-static field dynamic y = new self::C::•().x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.legacy.transformed.expect
deleted file mode 100644
index 85fcbe3..0000000
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class I1 extends core::Object {
-  final field dynamic x = self::y;
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-}
-abstract class I2 extends core::Object {
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-  abstract get x() → core::num*;
-}
-class C extends core::Object implements self::I1, self::I2 {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-}
-static field dynamic y = new self::C::•().x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.legacy.expect
deleted file mode 100644
index b350db3..0000000
--- a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::B<core::List<self::A::T*>*>* b) → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::A::•<dynamic>(new self::B::•<dynamic>());
-}
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index b350db3..0000000
--- a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::B<core::List<self::A::T*>*>* b) → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::A::•<dynamic>(new self::B::•<dynamic>());
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.legacy.expect
deleted file mode 100644
index 7f9dca8..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>(self::C::f::T* x) → self::C::f::T*
-    return x;
-  static method g<T extends core::Object* = dynamic>(self::C::g::T* x) → self::C::g::T*
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method test() → void {
-    (core::int*) →* core::int* func;
-    func = super.{self::C::f};
-  }
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* x) → self::f::T*
-  return x;
-static method test() → void {
-  function h<T extends core::Object* = dynamic>(T* x) → T*
-    return x;
-  (core::int*) →* core::int* func;
-  func = #C1;
-  func = new self::C::•().f;
-  func = #C2;
-  func = h;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::C::g
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.legacy.transformed.expect
deleted file mode 100644
index 7f9dca8..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>(self::C::f::T* x) → self::C::f::T*
-    return x;
-  static method g<T extends core::Object* = dynamic>(self::C::g::T* x) → self::C::g::T*
-    return x;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method test() → void {
-    (core::int*) →* core::int* func;
-    func = super.{self::C::f};
-  }
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* x) → self::f::T*
-  return x;
-static method test() → void {
-  function h<T extends core::Object* = dynamic>(T* x) → T*
-    return x;
-  (core::int*) →* core::int* func;
-  func = #C1;
-  func = new self::C::•().f;
-  func = #C2;
-  func = h;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::f
-  #C2 = tearoff self::C::g
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.legacy.expect
deleted file mode 100644
index 39c01c6..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::C::f::U* x) → (self::C::T*) →* void
-    return (dynamic y) → dynamic {};
-}
-static method test(self::C<core::String*>* c) → void {
-  (core::int*) →* (core::String*) →* void tearoff = c.f;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.legacy.transformed.expect
deleted file mode 100644
index 39c01c6..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends core::Object* = dynamic>(self::C::f::U* x) → (self::C::T*) →* void
-    return (dynamic y) → dynamic {};
-}
-static method test(self::C<core::String*>* c) → void {
-  (core::int*) →* (core::String*) →* void tearoff = c.f;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.legacy.expect
deleted file mode 100644
index eae3186..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(<T extends core::Object* = dynamic>(T*) →* T* f) → void {
-  (core::int*) →* core::int* func;
-  func = f.call;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.legacy.transformed.expect
deleted file mode 100644
index eae3186..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(<T extends core::Object* = dynamic>(T*) →* T* f) → void {
-  (core::int*) →* core::int* func;
-  func = f.call;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.legacy.expect
deleted file mode 100644
index ef3f334..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.legacy.transformed.expect
deleted file mode 100644
index ef3f334..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.legacy.expect
deleted file mode 100644
index 95b4fa5..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.legacy.transformed.expect
deleted file mode 100644
index 95b4fa5..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.legacy.expect
deleted file mode 100644
index 6516b0a..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 6516b0a..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.legacy.expect
deleted file mode 100644
index f1ad536..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::A<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.legacy.transformed.expect
deleted file mode 100644
index f1ad536..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::A<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.legacy.expect
deleted file mode 100644
index f1ad536..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::A<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.legacy.transformed.expect
deleted file mode 100644
index f1ad536..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::A<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.legacy.expect
deleted file mode 100644
index ce1d2dc..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.legacy.transformed.expect
deleted file mode 100644
index ce1d2dc..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.legacy.expect
deleted file mode 100644
index 5bfb7b5..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = new self::C::•<core::int*>();
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.legacy.transformed.expect
deleted file mode 100644
index 5bfb7b5..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic x = new self::C::•<core::int*>();
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.legacy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.legacy.expect
deleted file mode 100644
index 8700358..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.legacy.transformed.expect
deleted file mode 100644
index 8700358..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* v = null;
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.legacy.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.legacy.expect
deleted file mode 100644
index da84e28..0000000
--- a/pkg/front_end/testcases/inference/int_upwards_local.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic x = 1;
-}
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.legacy.transformed.expect
deleted file mode 100644
index da84e28..0000000
--- a/pkg/front_end/testcases/inference/int_upwards_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic x = 1;
-}
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.legacy.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.legacy.expect
deleted file mode 100644
index 0e461c5..0000000
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method getListOfString() → core::List<core::String*>*
-  return #C1;
-static method foo() → void {
-  core::List<dynamic>* myList = self::getListOfString();
-  myList.map((dynamic type) → dynamic => 42);
-}
-static method bar() → void {
-  dynamic list;
-  try {
-    list = <core::String*>[];
-  }
-  on dynamic catch(final dynamic _) {
-    return;
-  }
-  list.map((dynamic value) → dynamic => "${value}");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = <core::String*>[]
-}
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.legacy.transformed.expect
deleted file mode 100644
index 0e461c5..0000000
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method getListOfString() → core::List<core::String*>*
-  return #C1;
-static method foo() → void {
-  core::List<dynamic>* myList = self::getListOfString();
-  myList.map((dynamic type) → dynamic => 42);
-}
-static method bar() → void {
-  dynamic list;
-  try {
-    list = <core::String*>[];
-  }
-  on dynamic catch(final dynamic _) {
-    return;
-  }
-  list.map((dynamic value) → dynamic => "${value}");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = <core::String*>[]
-}
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.legacy.expect
deleted file mode 100644
index efc94f5..0000000
--- a/pkg/front_end/testcases/inference/lambda_return_type.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef FunctionReturningNum = () →* core::num*;
-static method test() → dynamic {
-  core::int* i = 1;
-  core::Object* o = 1;
-  () →* core::num* a = () → dynamic => i;
-  () →* core::num* b = () → dynamic => o;
-  () →* core::num* c = () → dynamic {
-    return i;
-  };
-  () →* core::num* d = () → dynamic {
-    return o;
-  };
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.legacy.transformed.expect
deleted file mode 100644
index efc94f5..0000000
--- a/pkg/front_end/testcases/inference/lambda_return_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef FunctionReturningNum = () →* core::num*;
-static method test() → dynamic {
-  core::int* i = 1;
-  core::Object* o = 1;
-  () →* core::num* a = () → dynamic => i;
-  () →* core::num* b = () → dynamic => o;
-  () →* core::num* c = () → dynamic {
-    return i;
-  };
-  () →* core::num* d = () → dynamic {
-    return o;
-  };
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.legacy.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.legacy.expect
deleted file mode 100644
index 94d378d..0000000
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic {
-  core::List<core::int*>* o;
-  o.forEach((dynamic i) → dynamic => i.+(1));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.legacy.transformed.expect
deleted file mode 100644
index 94d378d..0000000
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic {
-  core::List<core::int*>* o;
-  o.forEach((dynamic i) → dynamic => i.+(1));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.legacy.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.legacy.expect
deleted file mode 100644
index 7544593..0000000
--- a/pkg/front_end/testcases/inference/list_literal_typed.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic a = <core::int*>[];
-static field dynamic b = <core::double*>[1.0, 2.0, 3.0];
-static field dynamic c = <core::List<core::int*>*>[];
-static field dynamic d = <dynamic>[1, 2.0, false];
-static method main() → dynamic {
-  dynamic a = <core::int*>[];
-  dynamic b = <core::double*>[1.0, 2.0, 3.0];
-  dynamic c = <core::List<core::int*>*>[];
-  dynamic d = <dynamic>[1, 2.0, false];
-}
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.legacy.transformed.expect
deleted file mode 100644
index 7544593..0000000
--- a/pkg/front_end/testcases/inference/list_literal_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic a = <core::int*>[];
-static field dynamic b = <core::double*>[1.0, 2.0, 3.0];
-static field dynamic c = <core::List<core::int*>*>[];
-static field dynamic d = <dynamic>[1, 2.0, false];
-static method main() → dynamic {
-  dynamic a = <core::int*>[];
-  dynamic b = <core::double*>[1.0, 2.0, 3.0];
-  dynamic c = <core::List<core::int*>*>[];
-  dynamic d = <dynamic>[1, 2.0, false];
-}
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.legacy.expect b/pkg/front_end/testcases/inference/list_literals.dart.legacy.expect
deleted file mode 100644
index f039043..0000000
--- a/pkg/front_end/testcases/inference/list_literals.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic>[1, 2, 3];
-  x.add("hi");
-  x.add(4.0);
-  x.add(4);
-  core::List<core::num*>* y = x;
-}
-static method test2() → dynamic {
-  dynamic x = <dynamic>[1, 2.0, 3];
-  x.add("hi");
-  x.add(4.0);
-  core::List<core::int*>* y = x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/list_literals.dart.legacy.transformed.expect
deleted file mode 100644
index f039043..0000000
--- a/pkg/front_end/testcases/inference/list_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic>[1, 2, 3];
-  x.add("hi");
-  x.add(4.0);
-  x.add(4);
-  core::List<core::num*>* y = x;
-}
-static method test2() → dynamic {
-  dynamic x = <dynamic>[1, 2.0, 3];
-  x.add("hi");
-  x.add(4.0);
-  core::List<core::int*>* y = x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.legacy.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.legacy.expect
deleted file mode 100644
index 77948e1..0000000
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic>[null];
-  x.add(42);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.legacy.transformed.expect
deleted file mode 100644
index 77948e1..0000000
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic>[null];
-  x.add(42);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.legacy.expect
deleted file mode 100644
index e92cf1f..0000000
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x1 = <dynamic>[1, 2, 3];
-static field dynamic x2 = <dynamic>[1, 2.0, 3];
-static method test1() → dynamic {
-  self::x1.add("hi");
-  self::x1.add(4.0);
-  self::x1.add(4);
-  core::List<core::num*>* y = self::x1;
-}
-static method test2() → dynamic {
-  self::x2.add("hi");
-  self::x2.add(4.0);
-  core::List<core::int*>* y = self::x2;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index e92cf1f..0000000
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x1 = <dynamic>[1, 2, 3];
-static field dynamic x2 = <dynamic>[1, 2.0, 3];
-static method test1() → dynamic {
-  self::x1.add("hi");
-  self::x1.add(4.0);
-  self::x1.add(4);
-  core::List<core::num*>* y = self::x1;
-}
-static method test2() → dynamic {
-  self::x2.add("hi");
-  self::x2.add(4.0);
-  core::List<core::int*>* y = self::x2;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.legacy.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.legacy.expect
deleted file mode 100644
index f67a55b..0000000
--- a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t;
-  constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::•<dynamic>(42);
-  core::num* y;
-  self::C<core::int*>* c_int = new self::C::•<dynamic>(y);
-  self::C<core::num*>* c_num = new self::C::•<dynamic>(123);
-  dynamic c_dynamic = new self::C::•<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.legacy.transformed.expect
deleted file mode 100644
index f67a55b..0000000
--- a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* t;
-  constructor •(self::C::T* t) → self::C<self::C::T*>*
-    : self::C::t = t, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = new self::C::•<dynamic>(42);
-  core::num* y;
-  self::C<core::int*>* c_int = new self::C::•<dynamic>(y);
-  self::C<core::num*>* c_num = new self::C::•<dynamic>(123);
-  dynamic c_dynamic = new self::C::•<dynamic>(42);
-}
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.legacy.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.legacy.expect
deleted file mode 100644
index ce98814..0000000
--- a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic {
-  asy::Future<core::int*>* futureInt = null;
-  dynamic x = futureInt;
-}
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.legacy.transformed.expect
deleted file mode 100644
index ce98814..0000000
--- a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic {
-  asy::Future<core::int*>* futureInt = null;
-  dynamic x = futureInt;
-}
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.legacy.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.legacy.expect
deleted file mode 100644
index fcb3246..0000000
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-typedef IntToInt = (core::int*) →* core::int*;
-static method main() → dynamic {
-  function a() → (core::int*) →* core::int* {
-    return (dynamic x) → dynamic => x;
-  }
-  function b() → asy::Future<(core::int*) →* core::int*>* async {
-    return (dynamic x) → dynamic => x;
-  }
-  function c() → core::Iterable<(core::int*) →* core::int*>* sync* {
-    yield(dynamic x) → dynamic => x;
-  }
-  function d() → core::Iterable<(core::int*) →* core::int*>* sync* {
-    yield*<dynamic>[(dynamic x) → dynamic => x];
-  }
-  function e() → asy::Stream<(core::int*) →* core::int*>* async* {
-    yield(dynamic x) → dynamic => x;
-  }
-  function f() → asy::Stream<(core::int*) →* core::int*>* async* {
-    yield* asy::Stream::fromIterable<dynamic>(<dynamic>[(dynamic x) → dynamic => x]);
-  }
-}
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.legacy.transformed.expect
deleted file mode 100644
index 969c586..0000000
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,138 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-typedef IntToInt = (core::int*) →* core::int*;
-static method main() → dynamic {
-  function a() → (core::int*) →* core::int* {
-    return (dynamic x) → dynamic => x;
-  }
-  function b() → asy::Future<(core::int*) →* core::int*>* /* originally async */ {
-    final asy::_AsyncAwaitCompleter<(core::int*) →* core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<(core::int*) →* core::int*>();
-    asy::FutureOr<(core::int*) →* core::int*>* :return_value;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try {
-        #L1:
-        {
-          :return_value = (dynamic x) → dynamic => x;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :async_completer.start(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  function c() → core::Iterable<(core::int*) →* core::int*>* /* originally sync* */ {
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<(core::int*) →* core::int*>* :iterator) → core::bool* yielding {
-      {
-        {
-          :iterator.{core::_SyncIterator::_current} = (dynamic x) → dynamic => x;
-          [yield] true;
-        }
-      }
-      return false;
-    }
-    return new core::_SyncIterable::•<(core::int*) →* core::int*>(:sync_op);
-  }
-  function d() → core::Iterable<(core::int*) →* core::int*>* /* originally sync* */ {
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    function :sync_op(core::_SyncIterator<(core::int*) →* core::int*>* :iterator) → core::bool* yielding {
-      {
-        {
-          :iterator.{core::_SyncIterator::_yieldEachIterable} = <dynamic>[(dynamic x) → dynamic => x];
-          [yield] true;
-        }
-      }
-      return false;
-    }
-    return new core::_SyncIterable::•<(core::int*) →* core::int*>(:sync_op);
-  }
-  function e() → asy::Stream<(core::int*) →* core::int*>* /* originally async* */ {
-    asy::_AsyncStarStreamController<(core::int*) →* core::int*>* :controller;
-    dynamic :controller_stream;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try
-        try {
-          #L2:
-          {
-            if(:controller.{asy::_AsyncStarStreamController::add}((dynamic x) → dynamic => x))
-              return null;
-            else
-              [yield] null;
-          }
-          return;
-        }
-        on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-          :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-        }
-      finally {
-        :controller.{asy::_AsyncStarStreamController::close}();
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
-    :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-    return :controller_stream;
-  }
-  function f() → asy::Stream<(core::int*) →* core::int*>* /* originally async* */ {
-    asy::_AsyncStarStreamController<(core::int*) →* core::int*>* :controller;
-    dynamic :controller_stream;
-    dynamic :async_stack_trace;
-    dynamic :async_op_then;
-    dynamic :async_op_error;
-    dynamic :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    dynamic :saved_try_context_var0;
-    dynamic :saved_try_context_var1;
-    function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-      try
-        try {
-          #L3:
-          {
-            if(:controller.{asy::_AsyncStarStreamController::addStream}(asy::Stream::fromIterable<dynamic>(<dynamic>[(dynamic x) → dynamic => x])))
-              return null;
-            else
-              [yield] null;
-          }
-          return;
-        }
-        on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-          :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-        }
-      finally {
-        :controller.{asy::_AsyncStarStreamController::close}();
-      }
-    :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-    :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-    :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-    :controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
-    :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-    return :controller_stream;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.legacy.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.legacy.expect
deleted file mode 100644
index ad5d784..0000000
--- a/pkg/front_end/testcases/inference/logical_or_promotion.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field self::A* a = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(core::Object* o) → void {
-    if(o is self::A* || o is self::B*) {
-      if(o is self::A*) {
-        this.{self::C::a} = o;
-      }
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.legacy.transformed.expect
deleted file mode 100644
index ad5d784..0000000
--- a/pkg/front_end/testcases/inference/logical_or_promotion.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field self::A* a = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(core::Object* o) → void {
-    if(o is self::A* || o is self::B*) {
-      if(o is self::A*) {
-        this.{self::C::a} = o;
-      }
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.legacy.expect b/pkg/front_end/testcases/inference/map_literals.dart.legacy.expect
deleted file mode 100644
index 6dd2943..0000000
--- a/pkg/front_end/testcases/inference/map_literals.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic, dynamic>{1: "x", 2: "y"};
-  x.[]=(3, "z");
-  x.[]=("hi", "w");
-  x.[]=(4.0, "u");
-  x.[]=(3, 42);
-  core::Map<core::num*, core::String*>* y = x;
-}
-static method test2() → dynamic {
-  dynamic x = <dynamic, dynamic>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
-  x.[]=(3, "z");
-  x.[]=("hi", "w");
-  x.[]=(4.0, "u");
-  x.[]=(3, 42);
-  core::Pattern* p = null;
-  x.[]=(2, p);
-  core::Map<core::int*, core::String*>* y = x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/map_literals.dart.legacy.transformed.expect
deleted file mode 100644
index 6dd2943..0000000
--- a/pkg/front_end/testcases/inference/map_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic, dynamic>{1: "x", 2: "y"};
-  x.[]=(3, "z");
-  x.[]=("hi", "w");
-  x.[]=(4.0, "u");
-  x.[]=(3, 42);
-  core::Map<core::num*, core::String*>* y = x;
-}
-static method test2() → dynamic {
-  dynamic x = <dynamic, dynamic>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
-  x.[]=(3, "z");
-  x.[]=("hi", "w");
-  x.[]=(4.0, "u");
-  x.[]=(3, 42);
-  core::Pattern* p = null;
-  x.[]=(2, p);
-  core::Map<core::int*, core::String*>* y = x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.legacy.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.legacy.expect
deleted file mode 100644
index ba57d25..0000000
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic, dynamic>{null: null};
-  x.[]=(3, "z");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.legacy.transformed.expect
deleted file mode 100644
index ba57d25..0000000
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic {
-  dynamic x = <dynamic, dynamic>{null: null};
-  x.[]=(3, "z");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.legacy.expect
deleted file mode 100644
index 3547bf9..0000000
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x1 = <dynamic, dynamic>{1: "x", 2: "y"};
-static field dynamic x2 = <dynamic, dynamic>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
-static method test1() → dynamic {
-  self::x1.[]=(3, "z");
-  self::x1.[]=("hi", "w");
-  self::x1.[]=(4.0, "u");
-  self::x1.[]=(3, 42);
-  core::Map<core::num*, core::String*>* y = self::x1;
-}
-static method test2() → dynamic {
-  self::x2.[]=(3, "z");
-  self::x2.[]=("hi", "w");
-  self::x2.[]=(4.0, "u");
-  self::x2.[]=(3, 42);
-  core::Pattern* p = null;
-  self::x2.[]=(2, p);
-  core::Map<core::int*, core::String*>* y = self::x2;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index 3547bf9..0000000
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x1 = <dynamic, dynamic>{1: "x", 2: "y"};
-static field dynamic x2 = <dynamic, dynamic>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
-static method test1() → dynamic {
-  self::x1.[]=(3, "z");
-  self::x1.[]=("hi", "w");
-  self::x1.[]=(4.0, "u");
-  self::x1.[]=(3, 42);
-  core::Map<core::num*, core::String*>* y = self::x1;
-}
-static method test2() → dynamic {
-  self::x2.[]=(3, "z");
-  self::x2.[]=("hi", "w");
-  self::x2.[]=(4.0, "u");
-  self::x2.[]=(3, 42);
-  core::Pattern* p = null;
-  self::x2.[]=(2, p);
-  core::Map<core::int*, core::String*>* y = self::x2;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.legacy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.legacy.expect
deleted file mode 100644
index 258b1cb..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>() → self::D<self::C::f::T*>*
-    return null;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic f = new self::C::•().f<core::int*>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.legacy.transformed.expect
deleted file mode 100644
index 258b1cb..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>() → self::D<self::C::f::T*>*
-    return null;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic f = new self::C::•().f<core::int*>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.legacy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.legacy.expect
deleted file mode 100644
index 68e9c13..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>() → self::D<self::C::f::T*>*
-    return null;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C* c;
-static field dynamic f = self::c.f<core::int*>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.legacy.transformed.expect
deleted file mode 100644
index 68e9c13..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>() → self::D<self::C::f::T*>*
-    return null;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C* c;
-static field dynamic f = self::c.f<core::int*>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.legacy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.legacy.expect
deleted file mode 100644
index d2042f5..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method f<T extends core::Object* = dynamic>() → self::D<self::C::f::T*>*
-    return null;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic f = self::C::f<core::int*>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.legacy.transformed.expect
deleted file mode 100644
index d2042f5..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method f<T extends core::Object* = dynamic>() → self::D<self::C::f::T*>*
-    return null;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic f = self::C::f<core::int*>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.legacy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.legacy.expect
deleted file mode 100644
index dd5e284..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic g = self::f<core::int*>();
-static method f<T extends core::Object* = dynamic>() → self::D<self::f::T*>*
-  return null;
-static method main() → dynamic {
-  self::g;
-}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.legacy.transformed.expect
deleted file mode 100644
index dd5e284..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic g = self::f<core::int*>();
-static method f<T extends core::Object* = dynamic>() → self::D<self::f::T*>*
-  return null;
-static method main() → dynamic {
-  self::g;
-}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect
deleted file mode 100644
index 0c139e8..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends core::String* = dynamic> extends self::I<self::M0::X*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::I::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&M1&M0 = self::M1 with self::M0<core::int*, core::String*> {
-  synthetic constructor •() → self::_A&M1&M0*
-    : super self::M1::•()
-    ;
-}
-class A extends self::_A&M1&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M1&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect
deleted file mode 100644
index abd71d3..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends core::String* = dynamic> extends self::I<self::M0::X*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::I::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&M1&M0 extends self::M1 implements self::M0<core::int*, core::String*> {
-  synthetic constructor •() → self::_A&M1&M0*
-    : super self::M1::•()
-    ;
-}
-class A extends self::_A&M1&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M1&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect
deleted file mode 100644
index 15a2b6c..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends self::M0::X* = dynamic> extends self::I<self::M0::X*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::I::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&M1&M0 = self::M1 with self::M0<core::int*, core::int*> {
-  synthetic constructor •() → self::_A&M1&M0*
-    : super self::M1::•()
-    ;
-}
-class A extends self::_A&M1&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M1&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect
deleted file mode 100644
index dd85f9f..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends self::M0::X* = dynamic> extends self::I<self::M0::X*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::I::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&M1&M0 extends self::M1 implements self::M0<core::int*, core::int*> {
-  synthetic constructor •() → self::_A&M1&M0*
-    : super self::M1::•()
-    ;
-}
-class A extends self::_A&M1&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M1&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect
deleted file mode 100644
index a62efc99..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends core::Comparable<self::M0::Y>* = dynamic> extends self::I<self::M0::X*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::I::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&M1&M0 = self::M1 with self::M0<core::int*, core::Comparable<dynamic>*> {
-  synthetic constructor •() → self::_A&M1&M0*
-    : super self::M1::•()
-    ;
-}
-class A extends self::_A&M1&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M1&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect
deleted file mode 100644
index 337105f..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends core::Comparable<self::M0::Y>* = dynamic> extends self::I<self::M0::X*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::I::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&M1&M0 extends self::M1 implements self::M0<core::int*, core::Comparable<dynamic>*> {
-  synthetic constructor •() → self::_A&M1&M0*
-    : super self::M1::•()
-    ;
-}
-class A extends self::_A&M1&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M1&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect
deleted file mode 100644
index a7ffa02..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class J<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::X*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _M0&I&J<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> = self::I<self::_M0&I&J::X*> with self::J<self::_M0&I&J::Y*> {
-  synthetic constructor •() → self::_M0&I&J<self::_M0&I&J::X*, self::_M0&I&J::Y*>*
-    : super self::I::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends self::_M0&I&J<self::M0::X*, self::M0::Y*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::_M0&I&J::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-class M2 extends self::M1 implements self::J<core::double*> {
-  synthetic constructor •() → self::M2*
-    : super self::M1::•()
-    ;
-}
-abstract class _A&M2&M0 = self::M2 with self::M0<core::int*, core::double*> {
-  synthetic constructor •() → self::_A&M2&M0*
-    : super self::M2::•()
-    ;
-}
-class A extends self::_A&M2&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M2&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect
deleted file mode 100644
index c25154e4..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class J<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::X*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _M0&I&J<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends self::I<self::_M0&I&J::X*> implements self::J<self::_M0&I&J::Y*> {
-  synthetic constructor •() → self::_M0&I&J<self::_M0&I&J::X*, self::_M0&I&J::Y*>*
-    : super self::I::•()
-    ;
-}
-class M0<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends self::_M0&I&J<self::M0::X*, self::M0::Y*> {
-  synthetic constructor •() → self::M0<self::M0::X*, self::M0::Y*>*
-    : super self::_M0&I&J::•()
-    ;
-}
-class M1 extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-class M2 extends self::M1 implements self::J<core::double*> {
-  synthetic constructor •() → self::M2*
-    : super self::M1::•()
-    ;
-}
-abstract class _A&M2&M0 extends self::M2 implements self::M0<core::int*, core::double*> {
-  synthetic constructor •() → self::_A&M2&M0*
-    : super self::M2::•()
-    ;
-}
-class A extends self::_A&M2&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M2&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect
deleted file mode 100644
index 3512c8c..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends self::I<core::List<self::M0::T*>*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super self::I::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<core::List<self::M1::T*>*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-class M2<T extends core::Object* = dynamic> extends self::M1<core::Map<self::M2::T*, self::M2::T*>*> {
-  synthetic constructor •() → self::M2<self::M2::T*>*
-    : super self::M1::•()
-    ;
-}
-abstract class _A&M2&M0 = self::M2<core::int*> with self::M0<core::Map<core::int*, core::int*>*> {
-  synthetic constructor •() → self::_A&M2&M0*
-    : super self::M2::•()
-    ;
-}
-class A extends self::_A&M2&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M2&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect
deleted file mode 100644
index 6247867..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends self::I<core::List<self::M0::T*>*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super self::I::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<core::List<self::M1::T*>*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-class M2<T extends core::Object* = dynamic> extends self::M1<core::Map<self::M2::T*, self::M2::T*>*> {
-  synthetic constructor •() → self::M2<self::M2::T*>*
-    : super self::M1::•()
-    ;
-}
-abstract class _A&M2&M0 extends self::M2<core::int*> implements self::M0<core::Map<core::int*, core::int*>*> {
-  synthetic constructor •() → self::_A&M2&M0*
-    : super self::M2::•()
-    ;
-}
-class A extends self::_A&M2&M0 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M2&M0::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect
deleted file mode 100644
index 62f31c1..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super self::I::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&M0&M1 = self::M0<core::int*> with self::M1<core::int*> {
-  synthetic constructor •() → self::_A&M0&M1*
-    : super self::M0::•()
-    ;
-}
-class A extends self::_A&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect
deleted file mode 100644
index 31c23b9..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super self::I::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&M0&M1 extends self::M0<core::int*> implements self::M1<core::int*> {
-  synthetic constructor •() → self::_A&M0&M1*
-    : super self::M0::•()
-    ;
-}
-class A extends self::_A&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect
deleted file mode 100644
index 2ed4120..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super self::I::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-class M2<T extends core::Object* = dynamic> extends self::I<self::M2::T*> {
-  synthetic constructor •() → self::M2<self::M2::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&M0&M1 = self::M0<core::int*> with self::M1<core::int*> {
-  synthetic constructor •() → self::_A&M0&M1*
-    : super self::M0::•()
-    ;
-}
-abstract class _A&M0&M1&M2 = self::_A&M0&M1 with self::M2<core::int*> {
-  synthetic constructor •() → self::_A&M0&M1&M2*
-    : super self::_A&M0&M1::•()
-    ;
-}
-class A extends self::_A&M0&M1&M2 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M0&M1&M2::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect
deleted file mode 100644
index d8f1efe..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super self::I::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-class M2<T extends core::Object* = dynamic> extends self::I<self::M2::T*> {
-  synthetic constructor •() → self::M2<self::M2::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&M0&M1 extends self::M0<core::int*> implements self::M1<core::int*> {
-  synthetic constructor •() → self::_A&M0&M1*
-    : super self::M0::•()
-    ;
-}
-abstract class _A&M0&M1&M2 extends self::_A&M0&M1 implements self::M2<core::int*> {
-  synthetic constructor •() → self::_A&M0&M1&M2*
-    : super self::_A&M0&M1::•()
-    ;
-}
-class A extends self::_A&M0&M1&M2 {
-  synthetic constructor •() → self::A*
-    : super self::_A&M0&M1&M2::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect
deleted file mode 100644
index 79557a6..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart:13:7: Error: 'Object with M0, M1' can't implement both 'I<dynamic>' and 'I<int>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// class A extends Object with M0, M1<int> {}
-//       ^
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart:13:7: Error: 'A' can't implement both 'I<dynamic>' and 'I<int>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// class A extends Object with M0, M1<int> {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&Object&M0 = core::Object with self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 = self::_A&Object&M0 with self::M1<core::int*> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect
deleted file mode 100644
index 43841f3..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart:13:7: Error: 'Object with M0, M1' can't implement both 'I<dynamic>' and 'I<int>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// class A extends Object with M0, M1<int> {}
-//       ^
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart:13:7: Error: 'A' can't implement both 'I<dynamic>' and 'I<int>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart'.
-// class A extends Object with M0, M1<int> {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&Object&M0 extends core::Object implements self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 extends self::_A&Object&M0 implements self::M1<core::int*> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect
deleted file mode 100644
index 26a4751..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart:14:7: Error: 'A' can't implement both 'I<dynamic>' and 'I<int>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart'.
-// class A extends Object with M0, M1 implements I<int> {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&Object&M0 = core::Object with self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 = self::_A&Object&M0 with self::M1<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 implements self::I<core::int*> {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect
deleted file mode 100644
index f944fb1..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart:14:7: Error: 'A' can't implement both 'I<dynamic>' and 'I<int>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart'.
-// class A extends Object with M0, M1 implements I<int> {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends self::I<self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super self::I::•()
-    ;
-}
-abstract class _A&Object&M0 extends core::Object implements self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 extends self::_A&Object&M0 implements self::M1<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 implements self::I<core::int*> {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect
deleted file mode 100644
index 468cb8ce..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_1.dart:13:7: Error: 'Object with M0, M1' can't implement both 'I<dynamic, int>' and 'I<String, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_1.dart'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_1.dart:13:7: Error: 'A' can't implement both 'I<dynamic, int>' and 'I<String, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_1.dart'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*, self::I::Y*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*, core::int*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends core::Object implements self::I<core::String*, self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0 = core::Object with self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 = self::_A&Object&M0 with self::M1<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect
deleted file mode 100644
index f084077..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_1.dart:13:7: Error: 'Object with M0, M1' can't implement both 'I<dynamic, int>' and 'I<String, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_1.dart'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_1.dart:13:7: Error: 'A' can't implement both 'I<dynamic, int>' and 'I<String, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_1.dart'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*, self::I::Y*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*, core::int*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends core::Object implements self::I<core::String*, self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0 extends core::Object implements self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 extends self::_A&Object&M0 implements self::M1<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect
deleted file mode 100644
index 47897de..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_2.dart:17:7: Error: 'Object with M0, M1' can't implement both 'I<dynamic, List<dynamic>>' and 'I<List<dynamic>, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_2.dart'.
-//  - 'List' is from 'dart:core'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_2.dart:17:7: Error: 'A' can't implement both 'I<dynamic, List<dynamic>>' and 'I<List<dynamic>, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_2.dart'.
-//  - 'List' is from 'dart:core'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*, self::I::Y*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*, core::List<self::M0::T*>*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends core::Object implements self::I<core::List<self::M1::T*>*, self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0 = core::Object with self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 = self::_A&Object&M0 with self::M1<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect
deleted file mode 100644
index 939245b..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_2.dart:17:7: Error: 'Object with M0, M1' can't implement both 'I<dynamic, List<dynamic>>' and 'I<List<dynamic>, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_2.dart'.
-//  - 'List' is from 'dart:core'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-// pkg/front_end/testcases/inference/mixin_inference_unification_2.dart:17:7: Error: 'A' can't implement both 'I<dynamic, List<dynamic>>' and 'I<List<dynamic>, dynamic>'
-//  - 'I' is from 'pkg/front_end/testcases/inference/mixin_inference_unification_2.dart'.
-//  - 'List' is from 'dart:core'.
-// class A extends Object with M0, M1 {}
-//       ^
-//
-library;
-import self as self;
-import "dart:core" as core;
-
-class I<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::X*, self::I::Y*>*
-    : super core::Object::•()
-    ;
-}
-class M0<T extends core::Object* = dynamic> extends core::Object implements self::I<self::M0::T*, core::List<self::M0::T*>*> {
-  synthetic constructor •() → self::M0<self::M0::T*>*
-    : super core::Object::•()
-    ;
-}
-class M1<T extends core::Object* = dynamic> extends core::Object implements self::I<core::List<self::M1::T*>*, self::M1::T*> {
-  synthetic constructor •() → self::M1<self::M1::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0 extends core::Object implements self::M0<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&M0&M1 extends self::_A&Object&M0 implements self::M1<dynamic> {
-  const synthetic constructor •() → self::_A&Object&M0&M1*
-    : super self::_A&Object&M0::•()
-    ;
-}
-class A extends self::_A&Object&M0&M1 {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M0&M1::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.legacy.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.legacy.expect
deleted file mode 100644
index fb95dc3..0000000
--- a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::num* x = 3;
-  x = null;
-}
-static method main() → dynamic {
-  self::test1();
-}
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.legacy.transformed.expect
deleted file mode 100644
index fb95dc3..0000000
--- a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test1() → dynamic {
-  core::num* x = 3;
-  x = null;
-}
-static method main() → dynamic {
-  self::test1();
-}
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.legacy.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.legacy.expect
deleted file mode 100644
index 80473db..0000000
--- a/pkg/front_end/testcases/inference/non_const_invocation.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<U extends core::Object* = dynamic, V extends core::Object* = dynamic> = (U*) →* V*;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-  get v1() → self::Bar<self::Foo::T*>*
-    return new self::Bar::•<dynamic>();
-  get v2() → self::Bar<core::List<self::Foo::T*>*>*
-    return new self::Bar::•<dynamic>();
-  get v3() → self::Bar<(self::Foo::T*) →* self::Foo::T*>*
-    return new self::Bar::•<dynamic>();
-  get v4() → self::Bar<((self::Foo::T*) →* self::Foo::T*) →* self::Foo::T*>*
-    return new self::Bar::•<dynamic>();
-  get v5() → core::List<self::Foo::T*>*
-    return <dynamic>[];
-  get v6() → core::List<(self::Foo::T*) →* self::Foo::T*>*
-    return <dynamic>[];
-  get v7() → core::Map<self::Foo::T*, self::Foo::T*>*
-    return <dynamic, dynamic>{};
-  get v8() → core::Map<(self::Foo::T*) →* self::Foo::T*, self::Foo::T*>*
-    return <dynamic, dynamic>{};
-  get v9() → core::Map<self::Foo::T*, (self::Foo::T*) →* self::Foo::T*>*
-    return <dynamic, dynamic>{};
-}
-class Bar<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.legacy.transformed.expect
deleted file mode 100644
index 80473db..0000000
--- a/pkg/front_end/testcases/inference/non_const_invocation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<U extends core::Object* = dynamic, V extends core::Object* = dynamic> = (U*) →* V*;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-  get v1() → self::Bar<self::Foo::T*>*
-    return new self::Bar::•<dynamic>();
-  get v2() → self::Bar<core::List<self::Foo::T*>*>*
-    return new self::Bar::•<dynamic>();
-  get v3() → self::Bar<(self::Foo::T*) →* self::Foo::T*>*
-    return new self::Bar::•<dynamic>();
-  get v4() → self::Bar<((self::Foo::T*) →* self::Foo::T*) →* self::Foo::T*>*
-    return new self::Bar::•<dynamic>();
-  get v5() → core::List<self::Foo::T*>*
-    return <dynamic>[];
-  get v6() → core::List<(self::Foo::T*) →* self::Foo::T*>*
-    return <dynamic>[];
-  get v7() → core::Map<self::Foo::T*, self::Foo::T*>*
-    return <dynamic, dynamic>{};
-  get v8() → core::Map<(self::Foo::T*) →* self::Foo::T*, self::Foo::T*>*
-    return <dynamic, dynamic>{};
-  get v9() → core::Map<self::Foo::T*, (self::Foo::T*) →* self::Foo::T*>*
-    return <dynamic, dynamic>{};
-}
-class Bar<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.legacy.expect
deleted file mode 100644
index 1307bc3..0000000
--- a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return null;
-  set x(dynamic value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 1307bc3..0000000
--- a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return null;
-  set x(dynamic value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.legacy.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.legacy.expect
deleted file mode 100644
index ae8bd8e..0000000
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → core::int*
-    return null;
-}
-static method g(self::C* c) → dynamic {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f();
-  let final dynamic #t2 = c in #t2.==(null) ? null : #t2.f();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.legacy.transformed.expect
deleted file mode 100644
index ae8bd8e..0000000
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → core::int*
-    return null;
-}
-static method g(self::C* c) → dynamic {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f();
-  let final dynamic #t2 = c in #t2.==(null) ? null : #t2.f();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.legacy.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.legacy.expect
deleted file mode 100644
index 054273a..0000000
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method f(self::C* c) → void {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.x;
-  let final dynamic #t2 = c in #t2.==(null) ? null : #t2.x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.legacy.transformed.expect
deleted file mode 100644
index 054273a..0000000
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method f(self::C* c) → void {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.x;
-  let final dynamic #t2 = c in #t2.==(null) ? null : #t2.x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.legacy.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.legacy.expect
deleted file mode 100644
index 9085c72..0000000
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::List<core::int*>* x;
-  dynamic y = let final dynamic #t1 = x in #t1.==(null) ? <dynamic>[] : #t1;
-  core::List<core::int*>* z = y;
-}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.legacy.transformed.expect
deleted file mode 100644
index 9085c72..0000000
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::List<core::int*>* x;
-  dynamic y = let final dynamic #t1 = x in #t1.==(null) ? <dynamic>[] : #t1;
-  core::List<core::int*>* z = y;
-}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.legacy.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.legacy.expect
deleted file mode 100644
index c15c93c..0000000
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::List<core::int*>* x;
-  core::List<core::num*>* y = let final dynamic #t1 = x in #t1.==(null) ? <dynamic>[] : #t1;
-}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.legacy.transformed.expect
deleted file mode 100644
index c15c93c..0000000
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::List<core::int*>* x;
-  core::List<core::num*>* y = let final dynamic #t1 = x in #t1.==(null) ? <dynamic>[] : #t1;
-}
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.legacy.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.legacy.expect
deleted file mode 100644
index 985c932..0000000
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic h = null;
-static method foo((core::Object*) →* core::int* f) → void {}
-static method test() → dynamic {
-  dynamic f = (core::Object* x) → dynamic => null;
-  core::String* y = f.call(42);
-  f = (dynamic x) → dynamic => "hello";
-  dynamic g = null;
-  g = "hello";
-  g.foo();
-  self::h = "hello";
-  self::h.foo();
-  self::foo((dynamic x) → dynamic => null);
-  self::foo((dynamic x) → dynamic => throw "not implemented");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.legacy.transformed.expect
deleted file mode 100644
index 985c932..0000000
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic h = null;
-static method foo((core::Object*) →* core::int* f) → void {}
-static method test() → dynamic {
-  dynamic f = (core::Object* x) → dynamic => null;
-  core::String* y = f.call(42);
-  f = (dynamic x) → dynamic => "hello";
-  dynamic g = null;
-  g = "hello";
-  g.foo();
-  self::h = "hello";
-  self::h.foo();
-  self::foo((dynamic x) → dynamic => null);
-  self::foo((dynamic x) → dynamic => throw "not implemented");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.legacy.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.legacy.expect
deleted file mode 100644
index 2334b3b..0000000
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.legacy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = 1;
-  core::int* i = 1;
-  core::double* d = 1.0;
-  dynamic ddPlus = d.+(d);
-  dynamic ddMinus = d.-(d);
-  dynamic ddTimes = d.*(d);
-  dynamic ddMod = d.%(d);
-  dynamic diPlus = d.+(i);
-  dynamic diMinus = d.-(i);
-  dynamic diTimes = d.*(i);
-  dynamic diMod = d.%(i);
-  dynamic dnPlus = d.+(n);
-  dynamic dnMinus = d.-(n);
-  dynamic dnTimes = d.*(n);
-  dynamic dnMod = d.%(n);
-  dynamic idPlus = i.+(d);
-  dynamic idMinus = i.-(d);
-  dynamic idTimes = i.*(d);
-  dynamic idMod = i.%(d);
-  dynamic iiPlus = i.+(i);
-  dynamic iiMinus = i.-(i);
-  dynamic iiTimes = i.*(i);
-  dynamic iiMod = i.%(i);
-  dynamic inPlus = i.+(n);
-  dynamic inMinus = i.-(n);
-  dynamic inTimes = i.*(n);
-  dynamic inMod = i.%(n);
-  dynamic ndPlus = n.+(d);
-  dynamic ndMinus = n.-(d);
-  dynamic ndTimes = n.*(d);
-  dynamic ndMod = n.%(d);
-  dynamic niPlus = n.+(i);
-  dynamic niMinus = n.-(i);
-  dynamic niTimes = n.*(i);
-  dynamic niMod = n.%(i);
-  dynamic nnPlus = n.+(n);
-  dynamic nnMinus = n.-(n);
-  dynamic nnTimes = n.*(n);
-  dynamic nnMod = n.%(n);
-}
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.legacy.transformed.expect
deleted file mode 100644
index 2334b3b..0000000
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = 1;
-  core::int* i = 1;
-  core::double* d = 1.0;
-  dynamic ddPlus = d.+(d);
-  dynamic ddMinus = d.-(d);
-  dynamic ddTimes = d.*(d);
-  dynamic ddMod = d.%(d);
-  dynamic diPlus = d.+(i);
-  dynamic diMinus = d.-(i);
-  dynamic diTimes = d.*(i);
-  dynamic diMod = d.%(i);
-  dynamic dnPlus = d.+(n);
-  dynamic dnMinus = d.-(n);
-  dynamic dnTimes = d.*(n);
-  dynamic dnMod = d.%(n);
-  dynamic idPlus = i.+(d);
-  dynamic idMinus = i.-(d);
-  dynamic idTimes = i.*(d);
-  dynamic idMod = i.%(d);
-  dynamic iiPlus = i.+(i);
-  dynamic iiMinus = i.-(i);
-  dynamic iiTimes = i.*(i);
-  dynamic iiMod = i.%(i);
-  dynamic inPlus = i.+(n);
-  dynamic inMinus = i.-(n);
-  dynamic inTimes = i.*(n);
-  dynamic inMod = i.%(n);
-  dynamic ndPlus = n.+(d);
-  dynamic ndMinus = n.-(d);
-  dynamic ndTimes = n.*(d);
-  dynamic ndMod = n.%(d);
-  dynamic niPlus = n.+(i);
-  dynamic niMinus = n.-(i);
-  dynamic niTimes = n.*(i);
-  dynamic niMod = n.%(i);
-  dynamic nnPlus = n.+(n);
-  dynamic nnMinus = n.-(n);
-  dynamic nnTimes = n.*(n);
-  dynamic nnMod = n.%(n);
-}
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.legacy.expect b/pkg/front_end/testcases/inference/override_equals.dart.legacy.expect
deleted file mode 100644
index 6ffe3a7..0000000
--- a/pkg/front_end/testcases/inference/override_equals.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class NullEquality extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  @core::override
-  operator ==(core::Object other) → core::Null
-    return null;
-}
-class SubNullEquality extends self::NullEquality {
-  synthetic constructor •() → void
-    : super self::NullEquality::•()
-    ;
-  method test() → void {
-    dynamic super_equals_self = super.{self::NullEquality::==}(this);
-    dynamic super_equals_null = super.{self::NullEquality::==}(null);
-    dynamic super_not_equals_self = !super.{self::NullEquality::==}(this);
-    dynamic super_not_equals_null = !super.{self::NullEquality::==}(null);
-  }
-}
-static method test() → dynamic {
-  self::NullEquality n = new self::NullEquality::•();
-  dynamic equals_self = n.==(n);
-  dynamic equals_null = n.==(null);
-  dynamic null_equals = null.==(n);
-  dynamic not_equals_self = !n.==(n);
-  dynamic not_equals_null = !n.==(null);
-  dynamic null_not_equals = !null.==(n);
-}
-static method main() → dynamic {
-  self::test();
-  new self::SubNullEquality::•().test();
-}
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/override_equals.dart.legacy.transformed.expect
deleted file mode 100644
index 6ffe3a7..0000000
--- a/pkg/front_end/testcases/inference/override_equals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class NullEquality extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  @core::override
-  operator ==(core::Object other) → core::Null
-    return null;
-}
-class SubNullEquality extends self::NullEquality {
-  synthetic constructor •() → void
-    : super self::NullEquality::•()
-    ;
-  method test() → void {
-    dynamic super_equals_self = super.{self::NullEquality::==}(this);
-    dynamic super_equals_null = super.{self::NullEquality::==}(null);
-    dynamic super_not_equals_self = !super.{self::NullEquality::==}(this);
-    dynamic super_not_equals_null = !super.{self::NullEquality::==}(null);
-  }
-}
-static method test() → dynamic {
-  self::NullEquality n = new self::NullEquality::•();
-  dynamic equals_self = n.==(n);
-  dynamic equals_null = n.==(null);
-  dynamic null_equals = null.==(n);
-  dynamic not_equals_self = !n.==(n);
-  dynamic not_equals_null = !n.==(null);
-  dynamic null_not_equals = !null.==(n);
-}
-static method main() → dynamic {
-  self::test();
-  new self::SubNullEquality::•().test();
-}
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.legacy.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.legacy.expect
deleted file mode 100644
index b85f061..0000000
--- a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  final field dynamic foo = "bar";
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B<Y extends core::Object* = dynamic> extends self::A<self::B::Y*> {
-  final field dynamic foo;
-  constructor •(dynamic foo) → self::B<self::B::Y*>*
-    : self::B::foo = foo, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.legacy.transformed.expect
deleted file mode 100644
index b85f061..0000000
--- a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  final field dynamic foo = "bar";
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B<Y extends core::Object* = dynamic> extends self::A<self::B::Y*> {
-  final field dynamic foo;
-  constructor •(dynamic foo) → self::B<self::B::Y*>*
-    : self::B::foo = foo, super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.legacy.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.legacy.expect
deleted file mode 100644
index 9675ed5..0000000
--- a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  abstract method foo({generic-covariant-impl core::Iterable<self::A::X*>* x = #C1}) → void;
-}
-class B<Y extends core::Object* = dynamic> extends core::Object implements self::A<self::B::Y*> {
-  synthetic constructor •() → self::B<self::B::Y*>*
-    : super core::Object::•()
-    ;
-  method foo({generic-covariant-impl core::Iterable<self::B::Y*>* x = #C1}) → void {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.legacy.transformed.expect
deleted file mode 100644
index 9675ed5..0000000
--- a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  abstract method foo({generic-covariant-impl core::Iterable<self::A::X*>* x = #C1}) → void;
-}
-class B<Y extends core::Object* = dynamic> extends core::Object implements self::A<self::B::Y*> {
-  synthetic constructor •() → self::B<self::B::Y*>*
-    : super core::Object::•()
-    ;
-  method foo({generic-covariant-impl core::Iterable<self::B::Y*>* x = #C1}) → void {}
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.legacy.expect
deleted file mode 100644
index 560d25c..0000000
--- a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method optional_toplevel([core::List<core::int*>* x = #C1]) → void {}
-static method named_toplevel({core::List<core::int*>* x = #C1}) → void {}
-static method main() → dynamic {
-  function optional_local([core::List<core::int*>* x = #C1]) → void {}
-  function named_local({core::List<core::int*>* x = #C1}) → void {}
-  dynamic optional_closure = ([core::List<core::int*>* x = #C1]) → dynamic {};
-  dynamic name_closure = ({core::List<core::int*>* x = #C1}) → dynamic {};
-}
-
-constants  {
-  #C1 = <dynamic>[]
-}
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index 560d25c..0000000
--- a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method optional_toplevel([core::List<core::int*>* x = #C1]) → void {}
-static method named_toplevel({core::List<core::int*>* x = #C1}) → void {}
-static method main() → dynamic {
-  function optional_local([core::List<core::int*>* x = #C1]) → void {}
-  function named_local({core::List<core::int*>* x = #C1}) → void {}
-  dynamic optional_closure = ([core::List<core::int*>* x = #C1]) → dynamic {};
-  dynamic name_closure = ({core::List<core::int*>* x = #C1}) → dynamic {};
-}
-
-constants  {
-  #C1 = <dynamic>[]
-}
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.legacy.expect
deleted file mode 100644
index 9ea779c..0000000
--- a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor optional(([self::C::T*]) →* void func) → self::C<self::C::T*>*
-    : super core::Object::•() {}
-  constructor named(({x: self::C::T*}) →* void func) → self::C<self::C::T*>*
-    : super core::Object::•() {}
-}
-static method optional_toplevel([dynamic x = #C2]) → void {}
-static method named_toplevel({dynamic x = #C2}) → void {}
-static method main() → dynamic {
-  function optional_local([dynamic x = #C2]) → void {}
-  function named_local({dynamic x = #C2}) → void {}
-  dynamic c_optional_toplevel = new self::C::optional<dynamic>(#C3);
-  dynamic c_named_toplevel = new self::C::named<dynamic>(#C4);
-  dynamic c_optional_local = new self::C::optional<dynamic>(optional_local);
-  dynamic c_named_local = new self::C::named<dynamic>(named_local);
-  dynamic c_optional_closure = new self::C::optional<dynamic>(([dynamic x = #C2]) → dynamic {});
-  dynamic c_named_closure = new self::C::named<dynamic>(({dynamic x = #C2}) → dynamic {});
-}
-
-constants  {
-  #C1 = 0
-  #C2 = <dynamic>[#C1]
-  #C3 = tearoff self::optional_toplevel
-  #C4 = tearoff self::named_toplevel
-}
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 9ea779c..0000000
--- a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor optional(([self::C::T*]) →* void func) → self::C<self::C::T*>*
-    : super core::Object::•() {}
-  constructor named(({x: self::C::T*}) →* void func) → self::C<self::C::T*>*
-    : super core::Object::•() {}
-}
-static method optional_toplevel([dynamic x = #C2]) → void {}
-static method named_toplevel({dynamic x = #C2}) → void {}
-static method main() → dynamic {
-  function optional_local([dynamic x = #C2]) → void {}
-  function named_local({dynamic x = #C2}) → void {}
-  dynamic c_optional_toplevel = new self::C::optional<dynamic>(#C3);
-  dynamic c_named_toplevel = new self::C::named<dynamic>(#C4);
-  dynamic c_optional_local = new self::C::optional<dynamic>(optional_local);
-  dynamic c_named_local = new self::C::named<dynamic>(named_local);
-  dynamic c_optional_closure = new self::C::optional<dynamic>(([dynamic x = #C2]) → dynamic {});
-  dynamic c_named_closure = new self::C::named<dynamic>(({dynamic x = #C2}) → dynamic {});
-}
-
-constants  {
-  #C1 = 0
-  #C2 = <dynamic>[#C1]
-  #C3 = tearoff self::optional_toplevel
-  #C4 = tearoff self::named_toplevel
-}
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.legacy.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.legacy.expect
deleted file mode 100644
index c167181..0000000
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-abstract class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  abstract method bar() → void;
-}
-static method f<T extends self::B* = dynamic>(self::f::T* a) → void {
-  if(a is core::String*) {
-    a.foo();
-  }
-  if(a is self::C*) {
-    a.bar();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.legacy.transformed.expect
deleted file mode 100644
index c167181..0000000
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-abstract class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  abstract method bar() → void;
-}
-static method f<T extends self::B* = dynamic>(self::f::T* a) → void {
-  if(a is core::String*) {
-    a.foo();
-  }
-  if(a is self::C*) {
-    a.bar();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.legacy.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.legacy.expect
deleted file mode 100644
index fab0713..0000000
--- a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(core::Object* a, core::bool* b) → void {
-  if(b && a is core::int*) {
-    core::print(a);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.legacy.transformed.expect
deleted file mode 100644
index fab0713..0000000
--- a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(core::Object* a, core::bool* b) → void {
-  if(b && a is core::int*) {
-    core::print(a);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.legacy.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.legacy.expect
deleted file mode 100644
index 83b0506..0000000
--- a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f(core::Object* x) → void {
-  if(x is core::int*) {
-    if(x is core::String*) {
-      dynamic y = x;
-    }
-  }
-}
-static method g(core::int* x) → void {
-  if(x is core::String*) {
-    dynamic y = x;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.legacy.transformed.expect
deleted file mode 100644
index 83b0506..0000000
--- a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f(core::Object* x) → void {
-  if(x is core::int*) {
-    if(x is core::String*) {
-      dynamic y = x;
-    }
-  }
-}
-static method g(core::int* x) → void {
-  if(x is core::String*) {
-    dynamic y = x;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.legacy.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.legacy.expect
deleted file mode 100644
index 49ae8d3..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  self::A* b = a;
-  core::print(a.x);
-  core::print(a.x.+(2));
-}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.legacy.transformed.expect
deleted file mode 100644
index 49ae8d3..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  self::A* b = a;
-  core::print(a.x);
-  core::print(a.x.+(2));
-}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.legacy.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.legacy.expect
deleted file mode 100644
index 49ae8d3..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  self::A* b = a;
-  core::print(a.x);
-  core::print(a.x.+(2));
-}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.legacy.transformed.expect
deleted file mode 100644
index 49ae8d3..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  self::A* b = a;
-  core::print(a.x);
-  core::print(a.x.+(2));
-}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.legacy.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.legacy.expect
deleted file mode 100644
index 293fe43..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method test5() → dynamic {
-  dynamic a1 = new self::A::•();
-  a1.x = "hi";
-  self::A* a2 = new self::A::•();
-  a2.x = "hi";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.legacy.transformed.expect
deleted file mode 100644
index 293fe43..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 2;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static method test5() → dynamic {
-  dynamic a1 = new self::A::•();
-  a1.x = "hi";
-  self::A* a2 = new self::A::•();
-  a2.x = "hi";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.legacy.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.legacy.expect
deleted file mode 100644
index dcee814..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field self::A* a = new self::A::•();
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field self::B* b = new self::B::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  field self::C* c = new self::C::•();
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  dynamic d1 = new self::D::•();
-  core::print(d1.c.b.a.x);
-  self::D* d2 = new self::D::•();
-  core::print(d2.c.b.a.x);
-}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.legacy.transformed.expect
deleted file mode 100644
index dcee814..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field self::A* a = new self::A::•();
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field self::B* b = new self::B::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  field self::C* c = new self::C::•();
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → void {
-  dynamic d1 = new self::D::•();
-  core::print(d1.c.b.a.x);
-  self::D* d2 = new self::D::•();
-  core::print(d2.c.b.a.x);
-}
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.legacy.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.legacy.expect
deleted file mode 100644
index 9bf4a8f..0000000
--- a/pkg/front_end/testcases/inference/propagate_variable_get.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic a = 0;
-  dynamic b = a;
-}
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.legacy.transformed.expect
deleted file mode 100644
index 9bf4a8f..0000000
--- a/pkg/front_end/testcases/inference/propagate_variable_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic a = 0;
-  dynamic b = a;
-}
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.legacy.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.legacy.expect
deleted file mode 100644
index 4ea57de..0000000
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::int* field = 0;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get getter() → core::int*
-    return 0;
-  method function() → core::int*
-    return 0;
-}
-static field self::C* c = new self::C::•();
-static field dynamic function_ref = self::c.function;
-static field dynamic function_ref_list = <dynamic>[self::c.function];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.legacy.transformed.expect
deleted file mode 100644
index 4ea57de..0000000
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::int* field = 0;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get getter() → core::int*
-    return 0;
-  method function() → core::int*
-    return 0;
-}
-static field self::C* c = new self::C::•();
-static field dynamic function_ref = self::c.function;
-static field dynamic function_ref_list = <dynamic>[self::c.function];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/property_set.dart.legacy.expect b/pkg/front_end/testcases/inference/property_set.dart.legacy.expect
deleted file mode 100644
index 938cc0e..0000000
--- a/pkg/front_end/testcases/inference/property_set.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field core::List<self::A::T*>* x = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  set y(generic-covariant-impl core::List<self::A::T*>* value) → void {}
-}
-static method test() → dynamic {
-  self::A<core::int*>* a_int = new self::A::•<core::int*>();
-  self::A<core::Object*>* a_object = new self::A::•<core::Object*>();
-  self::A<dynamic>* a_dynamic = new self::A::•<dynamic>();
-  dynamic x_int = a_int.x = <dynamic>[0];
-  dynamic y_int = a_int.y = <dynamic>[0];
-  dynamic x_object = a_object.x = <dynamic>[0];
-  dynamic y_object = a_object.y = <dynamic>[0];
-  dynamic x_dynamic = a_dynamic.x = <dynamic>[0];
-  dynamic y_dynamic = a_dynamic.y = <dynamic>[0];
-  dynamic x_int_explicit = a_int.x = <core::int*>[0];
-  dynamic y_int_explicit = a_int.y = <core::int*>[0];
-  dynamic x_object_explicit = a_object.x = <core::int*>[0];
-  dynamic y_object_explicit = a_object.y = <core::int*>[0];
-  dynamic x_dynamic_explicit = a_dynamic.x = <core::int*>[0];
-  dynamic y_dynamic_explicit = a_dynamic.y = <core::int*>[0];
-  core::List<core::int*>* x_int_downward = a_int.x = <dynamic>[0];
-  core::List<core::int*>* y_int_downward = a_int.y = <dynamic>[0];
-  core::List<core::int*>* x_object_downward = a_object.x = <dynamic>[0];
-  core::List<core::int*>* y_object_downward = a_object.y = <dynamic>[0];
-  core::List<core::int*>* x_dynamic_downward = a_dynamic.x = <dynamic>[0];
-  core::List<core::int*>* y_dynamic_downward = a_dynamic.y = <dynamic>[0];
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/property_set.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/property_set.dart.legacy.transformed.expect
deleted file mode 100644
index 938cc0e..0000000
--- a/pkg/front_end/testcases/inference/property_set.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field core::List<self::A::T*>* x = null;
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  set y(generic-covariant-impl core::List<self::A::T*>* value) → void {}
-}
-static method test() → dynamic {
-  self::A<core::int*>* a_int = new self::A::•<core::int*>();
-  self::A<core::Object*>* a_object = new self::A::•<core::Object*>();
-  self::A<dynamic>* a_dynamic = new self::A::•<dynamic>();
-  dynamic x_int = a_int.x = <dynamic>[0];
-  dynamic y_int = a_int.y = <dynamic>[0];
-  dynamic x_object = a_object.x = <dynamic>[0];
-  dynamic y_object = a_object.y = <dynamic>[0];
-  dynamic x_dynamic = a_dynamic.x = <dynamic>[0];
-  dynamic y_dynamic = a_dynamic.y = <dynamic>[0];
-  dynamic x_int_explicit = a_int.x = <core::int*>[0];
-  dynamic y_int_explicit = a_int.y = <core::int*>[0];
-  dynamic x_object_explicit = a_object.x = <core::int*>[0];
-  dynamic y_object_explicit = a_object.y = <core::int*>[0];
-  dynamic x_dynamic_explicit = a_dynamic.x = <core::int*>[0];
-  dynamic y_dynamic_explicit = a_dynamic.y = <core::int*>[0];
-  core::List<core::int*>* x_int_downward = a_int.x = <dynamic>[0];
-  core::List<core::int*>* y_int_downward = a_int.y = <dynamic>[0];
-  core::List<core::int*>* x_object_downward = a_object.x = <dynamic>[0];
-  core::List<core::int*>* y_object_downward = a_object.y = <dynamic>[0];
-  core::List<core::int*>* x_dynamic_downward = a_dynamic.x = <dynamic>[0];
-  core::List<core::int*>* y_dynamic_downward = a_dynamic.y = <dynamic>[0];
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.legacy.expect
deleted file mode 100644
index 672015b..0000000
--- a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/property_set_bad_setter.dart:9:13: Error: A setter should have exactly one formal parameter.
-//   void set x() {}
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/inference/property_set_bad_setter.dart:9:13: Error: A setter should have exactly one formal parameter.
-  void set x() {}
-            ^";
-    {}
-  }
-}
-static method f(self::A* a) → void {
-  dynamic x = a.x = 0;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 672015b..0000000
--- a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/property_set_bad_setter.dart:9:13: Error: A setter should have exactly one formal parameter.
-//   void set x() {}
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set x(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/inference/property_set_bad_setter.dart:9:13: Error: A setter should have exactly one formal parameter.
-  void set x() {}
-            ^";
-    {}
-  }
-}
-static method f(self::A* a) → void {
-  dynamic x = a.x = 0;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.legacy.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.legacy.expect
deleted file mode 100644
index 92f85fd..0000000
--- a/pkg/front_end/testcases/inference/recursive_generic_function.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method _mergeSort<T extends core::Object* = dynamic>((self::_mergeSort::T*) →* self::_mergeSort::T* list, (self::_mergeSort::T*, self::_mergeSort::T*) →* core::int* compare, (self::_mergeSort::T*) →* self::_mergeSort::T* target) → void {
-  self::_mergeSort<dynamic>(list, compare, target);
-  self::_mergeSort<dynamic>(list, compare, list);
-  self::_mergeSort<dynamic>(target, compare, target);
-  self::_mergeSort<dynamic>(target, compare, list);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.legacy.transformed.expect
deleted file mode 100644
index 92f85fd..0000000
--- a/pkg/front_end/testcases/inference/recursive_generic_function.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method _mergeSort<T extends core::Object* = dynamic>((self::_mergeSort::T*) →* self::_mergeSort::T* list, (self::_mergeSort::T*, self::_mergeSort::T*) →* core::int* compare, (self::_mergeSort::T*) →* self::_mergeSort::T* target) → void {
-  self::_mergeSort<dynamic>(list, compare, target);
-  self::_mergeSort<dynamic>(list, compare, list);
-  self::_mergeSort<dynamic>(target, compare, target);
-  self::_mergeSort<dynamic>(target, compare, list);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.legacy.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.legacy.expect
deleted file mode 100644
index 2f6addf..0000000
--- a/pkg/front_end/testcases/inference/reference_to_typedef.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-typedef F = () →* void;
-static final field dynamic x = () →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.legacy.transformed.expect
deleted file mode 100644
index 2f6addf..0000000
--- a/pkg/front_end/testcases/inference/reference_to_typedef.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library test;
-import self as self;
-
-typedef F = () →* void;
-static final field dynamic x = () →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.legacy.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.legacy.expect
deleted file mode 100644
index cae7242..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* a = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method op(core::double* b) → void {
-    core::double* r1 = this.{self::C::a}.+(b);
-    core::double* r2 = this.{self::C::a}.-(b);
-    core::double* r3 = this.{self::C::a}.*(b);
-    core::double* r4 = this.{self::C::a}./(b);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.legacy.transformed.expect
deleted file mode 100644
index cae7242..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* a = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method op(core::double* b) → void {
-    core::double* r1 = this.{self::C::a}.+(b);
-    core::double* r2 = this.{self::C::a}.-(b);
-    core::double* r3 = this.{self::C::a}.*(b);
-    core::double* r4 = this.{self::C::a}./(b);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.legacy.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.legacy.expect
deleted file mode 100644
index 979fbf0..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* a = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method op(core::int* b) → void {
-    self::C::T* r1 = this.{self::C::a}.+(b);
-    self::C::T* r2 = this.{self::C::a}.-(b);
-    self::C::T* r3 = this.{self::C::a}.*(b);
-  }
-  method opEq(core::int* b) → void {
-    this.{self::C::a} = this.{self::C::a}.+(b);
-    this.{self::C::a} = this.{self::C::a}.-(b);
-    this.{self::C::a} = this.{self::C::a}.*(b);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.legacy.transformed.expect
deleted file mode 100644
index 979fbf0..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* a = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method op(core::int* b) → void {
-    self::C::T* r1 = this.{self::C::a}.+(b);
-    self::C::T* r2 = this.{self::C::a}.-(b);
-    self::C::T* r3 = this.{self::C::a}.*(b);
-  }
-  method opEq(core::int* b) → void {
-    this.{self::C::a} = this.{self::C::a}.+(b);
-    this.{self::C::a} = this.{self::C::a}.-(b);
-    this.{self::C::a} = this.{self::C::a}.*(b);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.legacy.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.legacy.expect
deleted file mode 100644
index 25a129f..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* a = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method op(generic-covariant-impl self::C::T* b) → void {
-    self::C::T* r1 = this.{self::C::a}.+(b);
-    self::C::T* r2 = this.{self::C::a}.-(b);
-    self::C::T* r3 = this.{self::C::a}.*(b);
-  }
-  method opEq(generic-covariant-impl self::C::T* b) → void {
-    this.{self::C::a} = this.{self::C::a}.+(b);
-    this.{self::C::a} = this.{self::C::a}.-(b);
-    this.{self::C::a} = this.{self::C::a}.*(b);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.legacy.transformed.expect
deleted file mode 100644
index 25a129f..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::num* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* a = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method op(generic-covariant-impl self::C::T* b) → void {
-    self::C::T* r1 = this.{self::C::a}.+(b);
-    self::C::T* r2 = this.{self::C::a}.-(b);
-    self::C::T* r3 = this.{self::C::a}.*(b);
-  }
-  method opEq(generic-covariant-impl self::C::T* b) → void {
-    this.{self::C::a} = this.{self::C::a}.+(b);
-    this.{self::C::a} = this.{self::C::a}.-(b);
-    this.{self::C::a} = this.{self::C::a}.*(b);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect
deleted file mode 100644
index 185c885..0000000
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → dynamic {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-class D extends self::C implements self::I {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(core::int* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect
deleted file mode 100644
index 185c885..0000000
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → dynamic {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  set x(core::int* value) → void {}
-}
-class D extends self::C implements self::I {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(core::int* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.legacy.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.legacy.expect
deleted file mode 100644
index d23cc34..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_bool.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = true;
-static method main() → dynamic {
-  dynamic b = false;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.legacy.transformed.expect
deleted file mode 100644
index d23cc34..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_bool.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = true;
-static method main() → dynamic {
-  dynamic b = false;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.legacy.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.legacy.expect
deleted file mode 100644
index 1d533d7ce..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_double.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = 1.2;
-static method main() → dynamic {
-  dynamic b = 3.4;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.legacy.transformed.expect
deleted file mode 100644
index 1d533d7ce..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_double.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = 1.2;
-static method main() → dynamic {
-  dynamic b = 3.4;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.legacy.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.legacy.expect
deleted file mode 100644
index 09ab222..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_int.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = 1;
-static method main() → dynamic {
-  dynamic b = 2;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.legacy.transformed.expect
deleted file mode 100644
index 09ab222..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_int.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = 1;
-static method main() → dynamic {
-  dynamic b = 2;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.legacy.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.legacy.expect
deleted file mode 100644
index 8afbb2c..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_null.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = null;
-static method main() → dynamic {
-  dynamic b = null;
-}
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.legacy.transformed.expect
deleted file mode 100644
index 8afbb2c..0000000
--- a/pkg/front_end/testcases/inference/simple_literal_null.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic a = null;
-static method main() → dynamic {
-  dynamic b = null;
-}
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.legacy.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.legacy.expect
deleted file mode 100644
index 6f23c87..0000000
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method f(core::String* s) → core::int*
-    return null;
-}
-static const field dynamic v = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = tearoff self::C::f
-}
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.legacy.transformed.expect
deleted file mode 100644
index 6f23c87..0000000
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static method f(core::String* s) → core::int*
-    return null;
-}
-static const field dynamic v = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = tearoff self::C::f
-}
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.legacy.expect b/pkg/front_end/testcases/inference/string_literal.dart.legacy.expect
deleted file mode 100644
index 741af39..0000000
--- a/pkg/front_end/testcases/inference/string_literal.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = 1;
-static field dynamic a = "aaa";
-static field dynamic b = "b ${self::x} bb";
-static field dynamic c = "c ${self::x} ccccc";
-static method main() → dynamic {
-  dynamic x = 1;
-  dynamic a = "aaa";
-  dynamic b = "b ${x} bb";
-  dynamic c = "c ${x} ccccc";
-}
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/string_literal.dart.legacy.transformed.expect
deleted file mode 100644
index 741af39..0000000
--- a/pkg/front_end/testcases/inference/string_literal.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = 1;
-static field dynamic a = "aaa";
-static field dynamic b = "b ${self::x} bb";
-static field dynamic c = "c ${self::x} ccccc";
-static method main() → dynamic {
-  dynamic x = 1;
-  dynamic a = "aaa";
-  dynamic b = "b ${x} bb";
-  dynamic c = "c ${x} ccccc";
-}
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.legacy.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.legacy.expect
deleted file mode 100644
index 2f30437..0000000
--- a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::List<core::num*>* x = <dynamic>[0];
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field core::List<core::num*>* y = <dynamic>[0];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.legacy.transformed.expect
deleted file mode 100644
index 2f30437..0000000
--- a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::List<core::num*>* x = <dynamic>[0];
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field core::List<core::num*>* y = <dynamic>[0];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.legacy.expect b/pkg/front_end/testcases/inference/super_index_set.dart.legacy.expect
deleted file mode 100644
index 0d22aaf..0000000
--- a/pkg/front_end/testcases/inference/super_index_set.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* x, core::String* y) → void {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  operator []=(core::Object* x, core::Object* y) → void {}
-  method h() → void {
-    super.{self::B::[]=}(self::f<dynamic>(), self::f<dynamic>());
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_index_set.dart.legacy.transformed.expect
deleted file mode 100644
index 0d22aaf..0000000
--- a/pkg/front_end/testcases/inference/super_index_set.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* x, core::String* y) → void {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  operator []=(core::Object* x, core::Object* y) → void {}
-  method h() → void {
-    super.{self::B::[]=}(self::f<dynamic>(), self::f<dynamic>());
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect
deleted file mode 100644
index bf34b84..0000000
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  operator []=(generic-covariant-impl core::Map<core::int*, self::B::T*>* x, generic-covariant-impl core::List<self::B::T*>* y) → void {}
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  operator []=(generic-covariant-impl core::Object* x, generic-covariant-impl core::Object* y) → void {}
-  method h() → void {
-    super.{self::B::[]=}(self::f<dynamic>(), self::f<dynamic>());
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index bf34b84..0000000
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  operator []=(generic-covariant-impl core::Map<core::int*, self::B::T*>* x, generic-covariant-impl core::List<self::B::T*>* y) → void {}
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  operator []=(generic-covariant-impl core::Object* x, generic-covariant-impl core::Object* y) → void {}
-  method h() → void {
-    super.{self::B::[]=}(self::f<dynamic>(), self::f<dynamic>());
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.legacy.expect b/pkg/front_end/testcases/inference/super_initializer.dart.legacy.expect
deleted file mode 100644
index 195e258..0000000
--- a/pkg/front_end/testcases/inference/super_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends self::B {
-  constructor •() → self::C*
-    : super self::B::•(self::f<dynamic>())
-    ;
-}
-class B extends core::Object {
-  constructor •(core::int* x) → self::B*
-    : super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_initializer.dart.legacy.transformed.expect
deleted file mode 100644
index 195e258..0000000
--- a/pkg/front_end/testcases/inference/super_initializer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends self::B {
-  constructor •() → self::C*
-    : super self::B::•(self::f<dynamic>())
-    ;
-}
-class B extends core::Object {
-  constructor •(core::int* x) → self::B*
-    : super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.legacy.expect
deleted file mode 100644
index 7778d19..0000000
--- a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::B::T* t) → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<U extends core::Object* = dynamic> extends self::B<core::List<self::C::U*>*> {
-  constructor •() → self::C<self::C::U*>*
-    : super self::B::•(self::f<dynamic>())
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index 7778d19..0000000
--- a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(self::B::T* t) → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<U extends core::Object* = dynamic> extends self::B<core::List<self::C::U*>*> {
-  constructor •() → self::C<self::C::U*>*
-    : super self::B::•(self::f<dynamic>())
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.legacy.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.legacy.expect
deleted file mode 100644
index ff6911d..0000000
--- a/pkg/front_end/testcases/inference/super_method_invocation.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → core::int*
-    return 0;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic x = super.{self::C::f}();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.legacy.transformed.expect
deleted file mode 100644
index ff6911d..0000000
--- a/pkg/front_end/testcases/inference/super_method_invocation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → core::int*
-    return 0;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic x = super.{self::C::f}();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect
deleted file mode 100644
index 80ef02e..0000000
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends self::D<self::E::T*> {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super self::D::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method g(generic-covariant-impl self::E<self::B::T*>* x) → self::D<self::B::T*>*
-    return null;
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  method g(generic-covariant-impl core::Object* x) → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  method h() → void {
-    dynamic x = super.{self::B::g}(self::f<dynamic>());
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index 80ef02e..0000000
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends self::D<self::E::T*> {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super self::D::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method g(generic-covariant-impl self::E<self::B::T*>* x) → self::D<self::B::T*>*
-    return null;
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  method g(generic-covariant-impl core::Object* x) → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  method h() → void {
-    dynamic x = super.{self::B::g}(self::f<dynamic>());
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_get.dart.legacy.expect
deleted file mode 100644
index 329541a..0000000
--- a/pkg/front_end/testcases/inference/super_property_get.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic x = 0;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::x};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_get.dart.legacy.transformed.expect
deleted file mode 100644
index 329541a..0000000
--- a/pkg/front_end/testcases/inference/super_property_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic x = 0;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::x};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.legacy.expect
deleted file mode 100644
index 85dd5ca..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic f = () → dynamic => 0;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::f}.call();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.legacy.transformed.expect
deleted file mode 100644
index 85dd5ca..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic f = () → dynamic => 0;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::f}.call();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.legacy.expect
deleted file mode 100644
index a95bbe7..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class CallableClass extends core::Object {
-  synthetic constructor •() → self::CallableClass*
-    : super core::Object::•()
-    ;
-  method call() → core::int*
-    return 0;
-}
-class C extends core::Object {
-  field dynamic f = new self::CallableClass::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::f}.call();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.legacy.transformed.expect
deleted file mode 100644
index a95bbe7..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class CallableClass extends core::Object {
-  synthetic constructor •() → self::CallableClass*
-    : super core::Object::•()
-    ;
-  method call() → core::int*
-    return 0;
-}
-class C extends core::Object {
-  field dynamic f = new self::CallableClass::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::f}.call();
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect
deleted file mode 100644
index 9a53262..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends self::D<self::E::T*> {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super self::D::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::D<self::B::T*>* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  get x() → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  set x(generic-covariant-impl core::Object* x) → void {}
-  method g() → void {
-    dynamic y = super.{self::B::x};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index 9a53262..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends self::D<self::E::T*> {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super self::D::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::D<self::B::T*>* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  get x() → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  set x(generic-covariant-impl core::Object* x) → void {}
-  method g() → void {
-    dynamic y = super.{self::B::x};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.legacy.expect
deleted file mode 100644
index 880235e..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → core::int*
-    return 0;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::f};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.legacy.transformed.expect
deleted file mode 100644
index 880235e..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → core::int*
-    return 0;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method g() → void {
-    dynamic y = super.{self::C::f};
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect
deleted file mode 100644
index ce6e4c3..0000000
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends self::D<self::E::T*> {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super self::D::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::D<self::B::T*>* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  get x() → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  set x(generic-covariant-impl core::Object* x) → void {}
-  method g() → void {
-    super.{self::B::x} = self::f<dynamic>();
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index ce6e4c3..0000000
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class D<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-class E<T extends core::Object* = dynamic> extends self::D<self::E::T*> {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super self::D::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::D<self::B::T*>* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C<U extends core::Object* = dynamic> extends self::B<asy::Future<self::C::U*>*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super self::B::•()
-    ;
-  get x() → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  set x(generic-covariant-impl core::Object* x) → void {}
-  method g() → void {
-    super.{self::B::x} = self::f<dynamic>();
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.legacy.expect b/pkg/front_end/testcases/inference/switch_continue.dart.legacy.expect
deleted file mode 100644
index 17603ab..0000000
--- a/pkg/front_end/testcases/inference/switch_continue.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(core::int* x, () →* void f) → void {
-  #L1:
-  switch(x) {
-    #L2:
-    case #C1:
-      {
-        f.call();
-        continue #L3;
-      }
-    #L3:
-    case #C2:
-      {
-        f.call();
-        break #L1;
-      }
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-  #C2 = 1
-}
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/switch_continue.dart.legacy.transformed.expect
deleted file mode 100644
index 17603ab..0000000
--- a/pkg/front_end/testcases/inference/switch_continue.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test(core::int* x, () →* void f) → void {
-  #L1:
-  switch(x) {
-    #L2:
-    case #C1:
-      {
-        f.call();
-        continue #L3;
-      }
-    #L3:
-    case #C2:
-      {
-        f.call();
-        break #L1;
-      }
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-  #C2 = 1
-}
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.legacy.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.legacy.expect
deleted file mode 100644
index d3552d8..0000000
--- a/pkg/front_end/testcases/inference/symbol_literal.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  dynamic x = #C1;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-}
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.legacy.transformed.expect
deleted file mode 100644
index d3552d8..0000000
--- a/pkg/front_end/testcases/inference/symbol_literal.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  dynamic x = #C1;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-}
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.legacy.expect b/pkg/front_end/testcases/inference/this_reference.dart.legacy.expect
deleted file mode 100644
index 79ba558..0000000
--- a/pkg/front_end/testcases/inference/this_reference.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f() → void {
-    dynamic x = this;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/this_reference.dart.legacy.transformed.expect
deleted file mode 100644
index 79ba558..0000000
--- a/pkg/front_end/testcases/inference/this_reference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f() → void {
-    dynamic x = this;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.legacy.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.legacy.expect
deleted file mode 100644
index 5eab788..0000000
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-typedef IntToInt = (core::int*) →* core::int*;
-static method a() → (core::int*) →* core::int* {
-  return (dynamic x) → dynamic => x;
-}
-static method b() → asy::Future<(core::int*) →* core::int*>* async {
-  return (dynamic x) → dynamic => x;
-}
-static method c() → core::Iterable<(core::int*) →* core::int*>* sync* {
-  yield(dynamic x) → dynamic => x;
-}
-static method d() → core::Iterable<(core::int*) →* core::int*>* sync* {
-  yield*<dynamic>[(dynamic x) → dynamic => x];
-}
-static method e() → asy::Stream<(core::int*) →* core::int*>* async* {
-  yield(dynamic x) → dynamic => x;
-}
-static method f() → asy::Stream<(core::int*) →* core::int*>* async* {
-  yield* asy::Stream::fromIterable<dynamic>(<dynamic>[(dynamic x) → dynamic => x]);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.legacy.transformed.expect
deleted file mode 100644
index 8d16e1ae..0000000
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,137 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-typedef IntToInt = (core::int*) →* core::int*;
-static method a() → (core::int*) →* core::int* {
-  return (dynamic x) → dynamic => x;
-}
-static method b() → asy::Future<(core::int*) →* core::int*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<(core::int*) →* core::int*>* :async_completer = new asy::_AsyncAwaitCompleter::•<(core::int*) →* core::int*>();
-  asy::FutureOr<(core::int*) →* core::int*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = (dynamic x) → dynamic => x;
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method c() → core::Iterable<(core::int*) →* core::int*>* /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<(core::int*) →* core::int*>* :iterator) → core::bool* yielding {
-    {
-      {
-        :iterator.{core::_SyncIterator::_current} = (dynamic x) → dynamic => x;
-        [yield] true;
-      }
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<(core::int*) →* core::int*>(:sync_op);
-}
-static method d() → core::Iterable<(core::int*) →* core::int*>* /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<(core::int*) →* core::int*>* :iterator) → core::bool* yielding {
-    {
-      {
-        :iterator.{core::_SyncIterator::_yieldEachIterable} = <dynamic>[(dynamic x) → dynamic => x];
-        [yield] true;
-      }
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<(core::int*) →* core::int*>(:sync_op);
-}
-static method e() → asy::Stream<(core::int*) →* core::int*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<(core::int*) →* core::int*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try
-      try {
-        #L2:
-        {
-          if(:controller.{asy::_AsyncStarStreamController::add}((dynamic x) → dynamic => x))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-      }
-    finally {
-      :controller.{asy::_AsyncStarStreamController::close}();
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
-  :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-  return :controller_stream;
-}
-static method f() → asy::Stream<(core::int*) →* core::int*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<(core::int*) →* core::int*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try
-      try {
-        #L3:
-        {
-          if(:controller.{asy::_AsyncStarStreamController::addStream}(asy::Stream::fromIterable<dynamic>(<dynamic>[(dynamic x) → dynamic => x])))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-        :controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
-      }
-    finally {
-      :controller.{asy::_AsyncStarStreamController::close}();
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
-  :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-  return :controller_stream;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.legacy.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.legacy.expect
deleted file mode 100644
index 0949789..0000000
--- a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic i = 0;
-static method main() → dynamic {
-  dynamic j = self::i;
-}
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.legacy.transformed.expect
deleted file mode 100644
index 0949789..0000000
--- a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic i = 0;
-static method main() → dynamic {
-  dynamic j = self::i;
-}
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.legacy.expect b/pkg/front_end/testcases/inference/try_catch.dart.legacy.expect
deleted file mode 100644
index e2440e7..0000000
--- a/pkg/front_end/testcases/inference/try_catch.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method test(() →* void f) → void {
-  try {
-    dynamic x = 0;
-    f.call();
-  }
-  on self::C* catch(no-exception-var) {
-    dynamic x = 0;
-  }
-  on self::D* catch(final self::D* x) {
-    dynamic x2 = x;
-  }
-  on self::E* catch(final self::E* x, final core::StackTrace* y) {
-    dynamic x2 = x;
-    dynamic y2 = y;
-  }
-  on dynamic catch(final dynamic x, final core::StackTrace* y) {
-    dynamic x2 = x;
-    dynamic y2 = y;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/try_catch.dart.legacy.transformed.expect
deleted file mode 100644
index e2440e7..0000000
--- a/pkg/front_end/testcases/inference/try_catch.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method test(() →* void f) → void {
-  try {
-    dynamic x = 0;
-    f.call();
-  }
-  on self::C* catch(no-exception-var) {
-    dynamic x = 0;
-  }
-  on self::D* catch(final self::D* x) {
-    dynamic x2 = x;
-  }
-  on self::E* catch(final self::E* x, final core::StackTrace* y) {
-    dynamic x2 = x;
-    dynamic y2 = y;
-  }
-  on dynamic catch(final dynamic x, final core::StackTrace* y) {
-    dynamic x2 = x;
-    dynamic y2 = y;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.legacy.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.legacy.expect
deleted file mode 100644
index ab1f326..0000000
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.legacy.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method test(() →* void f) → void {
-  try
-    try {
-      dynamic x = 0;
-      f.call();
-    }
-    on self::C* catch(no-exception-var) {
-      dynamic x = 0;
-    }
-    on self::D* catch(final self::D* x) {
-      dynamic x2 = x;
-    }
-    on self::E* catch(final self::E* x, final core::StackTrace* y) {
-      dynamic x2 = x;
-      dynamic y2 = y;
-    }
-    on dynamic catch(final dynamic x, final core::StackTrace* y) {
-      dynamic x2 = x;
-      dynamic y2 = y;
-    }
-  finally {
-    dynamic x = 0;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.legacy.transformed.expect
deleted file mode 100644
index ab1f326..0000000
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method test(() →* void f) → void {
-  try
-    try {
-      dynamic x = 0;
-      f.call();
-    }
-    on self::C* catch(no-exception-var) {
-      dynamic x = 0;
-    }
-    on self::D* catch(final self::D* x) {
-      dynamic x2 = x;
-    }
-    on self::E* catch(final self::E* x, final core::StackTrace* y) {
-      dynamic x2 = x;
-      dynamic y2 = y;
-    }
-    on dynamic catch(final dynamic x, final core::StackTrace* y) {
-      dynamic x2 = x;
-      dynamic y2 = y;
-    }
-  finally {
-    dynamic x = 0;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.legacy.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.legacy.expect
deleted file mode 100644
index 0f900fe4..0000000
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class E extends core::StackTrace {
-  synthetic constructor •() → self::E*
-    : super core::StackTrace::•()
-    ;
-}
-static method test(() →* void f) → void {
-  try {
-    f.call();
-  }
-  on self::C* catch(final self::C* x, final core::StackTrace* y) {
-    dynamic x1 = x;
-    dynamic y1 = y;
-    if(x is self::D*) {
-      dynamic x2 = x;
-    }
-    if(y is self::E*) {
-      dynamic y2 = y;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.legacy.transformed.expect
deleted file mode 100644
index 0f900fe4..0000000
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class E extends core::StackTrace {
-  synthetic constructor •() → self::E*
-    : super core::StackTrace::•()
-    ;
-}
-static method test(() →* void f) → void {
-  try {
-    f.call();
-  }
-  on self::C* catch(final self::C* x, final core::StackTrace* y) {
-    dynamic x1 = x;
-    dynamic y1 = y;
-    if(x is self::D*) {
-      dynamic x2 = x;
-    }
-    if(y is self::E*) {
-      dynamic y2 = y;
-    }
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.legacy.expect b/pkg/front_end/testcases/inference/try_finally.dart.legacy.expect
deleted file mode 100644
index e49f188..0000000
--- a/pkg/front_end/testcases/inference/try_finally.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-
-static method test(() →* void f) → void {
-  try {
-    dynamic x = 0;
-    f.call();
-  }
-  finally {
-    dynamic x = 0;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/try_finally.dart.legacy.transformed.expect
deleted file mode 100644
index e49f188..0000000
--- a/pkg/front_end/testcases/inference/try_finally.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-
-static method test(() →* void f) → void {
-  try {
-    dynamic x = 0;
-    f.call();
-  }
-  finally {
-    dynamic x = 0;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.legacy.expect b/pkg/front_end/testcases/inference/type_cast.dart.legacy.expect
deleted file mode 100644
index 3a552a0..0000000
--- a/pkg/front_end/testcases/inference/type_cast.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super self::A::•()
-    ;
-  method foo() → dynamic {}
-}
-static field self::A<core::num*>* a = new self::B::•<core::int*>();
-static field dynamic b = self::a as self::B<core::int*>*;
-static method main() → dynamic {
-  self::A<core::num*>* a = new self::B::•<core::int*>();
-  dynamic b = a as self::B<core::int*>*;
-}
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_cast.dart.legacy.transformed.expect
deleted file mode 100644
index 3a552a0..0000000
--- a/pkg/front_end/testcases/inference/type_cast.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super self::A::•()
-    ;
-  method foo() → dynamic {}
-}
-static field self::A<core::num*>* a = new self::B::•<core::int*>();
-static field dynamic b = self::a as self::B<core::int*>*;
-static method main() → dynamic {
-  self::A<core::num*>* a = new self::B::•<core::int*>();
-  dynamic b = a as self::B<core::int*>*;
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.legacy.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.legacy.expect
deleted file mode 100644
index 6269884..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef FunctionReturningInt = () →* core::int*;
-static method main() → dynamic {
-  function f() → core::num*
-    return 0;
-  if(f is () →* core::int*) {
-    f;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.legacy.transformed.expect
deleted file mode 100644
index 6269884..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef FunctionReturningInt = () →* core::int*;
-static method main() → dynamic {
-  function f() → core::num*
-    return 0;
-  if(f is () →* core::int*) {
-    f;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.legacy.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.legacy.expect
deleted file mode 100644
index ca793f8..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f(core::Object* x) → void {
-  if(!(x is core::int*) && !(x is core::String*)) {
-    core::print(x);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.legacy.transformed.expect
deleted file mode 100644
index ca793f8..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f(core::Object* x) → void {
-  if(!(x is core::int*) && !(x is core::String*)) {
-    core::print(x);
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.legacy.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.legacy.expect
deleted file mode 100644
index 8b5d77e..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_simple.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.legacy.transformed.expect
deleted file mode 100644
index 8b5d77e..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_simple.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.legacy.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.legacy.expect
deleted file mode 100644
index 1e5c83d..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-    () → dynamic {
-      n;
-    };
-  }
-  n = null;
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.legacy.transformed.expect
deleted file mode 100644
index 1e5c83d..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-    () → dynamic {
-      n;
-    };
-  }
-  n = null;
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.legacy.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.legacy.expect
deleted file mode 100644
index 348e8be..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-    n = null;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.legacy.transformed.expect
deleted file mode 100644
index 348e8be..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-    n = null;
-  }
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.legacy.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.legacy.expect
deleted file mode 100644
index e48bd2b..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-  }
-  () → dynamic {
-    n = null;
-  };
-}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.legacy.transformed.expect
deleted file mode 100644
index e48bd2b..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::num* n = null;
-  if(n is core::int*) {
-    dynamic i = n;
-  }
-  () → dynamic {
-    n = null;
-  };
-}
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.legacy.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.legacy.expect
deleted file mode 100644
index de85e48..0000000
--- a/pkg/front_end/testcases/inference/unresolved_super.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:12:38: Warning: Superclass has no method named 'foo'.
-//     var /*@type=dynamic*/ v1 = super.foo(/*@typeArgs=dynamic*/ f());
-//                                      ^^^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:13:38: Warning: Superclass has no getter named 'bar'.
-//     var /*@type=dynamic*/ v2 = super.bar;
-//                                      ^^^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:14:37: Warning: Superclass has no method named '[]'.
-//     var /*@type=dynamic*/ v3 = super[0];
-//                                     ^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:15:38: Warning: Superclass has no setter named 'bar'.
-//     var /*@type=dynamic*/ v4 = super.bar = /*@typeArgs=dynamic*/ f();
-//                                      ^^^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:16:37: Warning: Superclass has no method named '[]='.
-//     var /*@type=dynamic*/ v5 = super[0] = /*@typeArgs=dynamic*/ f();
-//                                     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    dynamic v1 = super.foo(self::f<dynamic>());
-    dynamic v2 = super.bar;
-    dynamic v3 = super.[](0);
-    dynamic v4 = super.bar = self::f<dynamic>();
-    dynamic v5 = let final dynamic #t1 = 0 in let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = super.[]=(#t1, #t2) in #t2;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.legacy.transformed.expect
deleted file mode 100644
index de85e48..0000000
--- a/pkg/front_end/testcases/inference/unresolved_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:12:38: Warning: Superclass has no method named 'foo'.
-//     var /*@type=dynamic*/ v1 = super.foo(/*@typeArgs=dynamic*/ f());
-//                                      ^^^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:13:38: Warning: Superclass has no getter named 'bar'.
-//     var /*@type=dynamic*/ v2 = super.bar;
-//                                      ^^^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:14:37: Warning: Superclass has no method named '[]'.
-//     var /*@type=dynamic*/ v3 = super[0];
-//                                     ^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:15:38: Warning: Superclass has no setter named 'bar'.
-//     var /*@type=dynamic*/ v4 = super.bar = /*@typeArgs=dynamic*/ f();
-//                                      ^^^
-//
-// pkg/front_end/testcases/inference/unresolved_super.dart:16:37: Warning: Superclass has no method named '[]='.
-//     var /*@type=dynamic*/ v5 = super[0] = /*@typeArgs=dynamic*/ f();
-//                                     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    dynamic v1 = super.foo(self::f<dynamic>());
-    dynamic v2 = super.bar;
-    dynamic v3 = super.[](0);
-    dynamic v4 = super.bar = self::f<dynamic>();
-    dynamic v5 = let final dynamic #t1 = 0 in let final dynamic #t2 = self::f<dynamic>() in let final dynamic #t3 = super.[]=(#t1, #t2) in #t2;
-  }
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.legacy.expect
deleted file mode 100644
index b2b95bc..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = ((dynamic x) → dynamic => 1.0).call(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.legacy.transformed.expect
deleted file mode 100644
index b2b95bc..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = ((dynamic x) → dynamic => 1.0).call(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.legacy.expect
deleted file mode 100644
index 9f9fb0b..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v = new self::C::•<dynamic>(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.legacy.transformed.expect
deleted file mode 100644
index 9f9fb0b..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v = new self::C::•<dynamic>(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.legacy.expect
deleted file mode 100644
index 51d8453..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v = new self::C::•<core::int*>(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index 51d8453..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v = new self::C::•<core::int*>(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.legacy.expect
deleted file mode 100644
index 32bab58..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•<dynamic>(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index 32bab58..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•<dynamic>(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.legacy.expect
deleted file mode 100644
index d53463e..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •(() →* dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v = new self::C::•(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index d53463e..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •(() →* dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v = new self::C::•(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.legacy.expect
deleted file mode 100644
index d4a07ae..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = self::f<dynamic>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.legacy.transformed.expect
deleted file mode 100644
index d4a07ae..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = self::f<dynamic>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.legacy.expect
deleted file mode 100644
index 29fa60f..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:19: Error: An equality expression can't be an operand of another equality expression.
-// Try re-writing the expression.
-// var v = (f<dynamic>)(() {
-//                   ^
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: Expected an identifier, but got ')'.
-// var v = (f<dynamic>)(() {
-//                    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).<(dynamic).>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: This couldn't be parsed.
-var v = (f<dynamic>)(() {
-                   ^").call(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.legacy.transformed.expect
deleted file mode 100644
index 29fa60f..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:19: Error: An equality expression can't be an operand of another equality expression.
-// Try re-writing the expression.
-// var v = (f<dynamic>)(() {
-//                   ^
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: Expected an identifier, but got ')'.
-// var v = (f<dynamic>)(() {
-//                    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).<(dynamic).>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: This couldn't be parsed.
-var v = (f<dynamic>)(() {
-                   ^").call(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.expect
deleted file mode 100644
index f2edae1..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).call<dynamic>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.transformed.expect
deleted file mode 100644
index f2edae1..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).call<dynamic>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.legacy.expect
deleted file mode 100644
index 5bc5db6..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = self::f<core::int*>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index 5bc5db6..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = self::f<core::int*>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.legacy.expect
deleted file mode 100644
index ac0e94c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:15: Error: An equality expression can't be an operand of another equality expression.
-// Try re-writing the expression.
-// var v = (f<int>)(() {
-//               ^
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: Expected an identifier, but got ')'.
-// var v = (f<int>)(() {
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).<(core::int*).>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: This couldn't be parsed.
-var v = (f<int>)(() {
-               ^").call(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.legacy.transformed.expect
deleted file mode 100644
index ac0e94c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:15: Error: An equality expression can't be an operand of another equality expression.
-// Try re-writing the expression.
-// var v = (f<int>)(() {
-//               ^
-//
-// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: Expected an identifier, but got ')'.
-// var v = (f<int>)(() {
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).<(core::int*).>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: This couldn't be parsed.
-var v = (f<int>)(() {
-               ^").call(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.expect
deleted file mode 100644
index 7738ec9..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).call<core::int*>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.transformed.expect
deleted file mode 100644
index 7738ec9..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic v = (#C1).call<core::int*>(() → dynamic {
-  return 1;
-});
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-static method main() → dynamic {
-  self::v;
-}
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.legacy.expect
deleted file mode 100644
index cfc4f89f..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = self::f<dynamic>(() → dynamic {
-    return 1;
-  });
-}
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index cfc4f89f..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = self::f<dynamic>(() → dynamic {
-    return 1;
-  });
-}
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.legacy.expect
deleted file mode 100644
index 157e04d..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = (#C1).call(() → dynamic {
-    return 1;
-  });
-}
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.legacy.transformed.expect
deleted file mode 100644
index 157e04d..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = (#C1).call(() → dynamic {
-    return 1;
-  });
-}
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  return <self::f::T*>[g.call()];
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.legacy.expect
deleted file mode 100644
index 9982bb7..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = self::f(() → dynamic {
-    return 1;
-  });
-}
-static method f(dynamic x) → core::double*
-  return 1.0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index 9982bb7..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = self::f(() → dynamic {
-    return 1;
-  });
-}
-static method f(dynamic x) → core::double*
-  return 1.0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.legacy.expect
deleted file mode 100644
index d012b8b..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = (#C1).call(() → dynamic {
-    return 1;
-  });
-}
-static method f(dynamic x) → core::double*
-  return 1.0;
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.legacy.transformed.expect
deleted file mode 100644
index d012b8b..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = (#C1).call(() → dynamic {
-    return 1;
-  });
-}
-static method f(dynamic x) → core::double*
-  return 1.0;
-
-constants  {
-  #C1 = tearoff self::f
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.legacy.expect
deleted file mode 100644
index 52a9a4a..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = <dynamic>[() → dynamic {
-    return 1;
-  }];
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.legacy.transformed.expect
deleted file mode 100644
index 52a9a4a..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = <dynamic>[() → dynamic {
-    return 1;
-  }];
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.legacy.expect
deleted file mode 100644
index b99e662..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-static method main() → dynamic {
-  dynamic v = <() →* core::int*>[() → dynamic {
-    return 1;
-  }];
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.legacy.transformed.expect
deleted file mode 100644
index b99e662..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-static method main() → dynamic {
-  dynamic v = <() →* core::int*>[() → dynamic {
-    return 1;
-  }];
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.legacy.expect
deleted file mode 100644
index 52a9a4a..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = <dynamic>[() → dynamic {
-    return 1;
-  }];
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.legacy.transformed.expect
deleted file mode 100644
index 52a9a4a..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = <dynamic>[() → dynamic {
-    return 1;
-  }];
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.legacy.expect
deleted file mode 100644
index eb743c65..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = <core::int*, dynamic>{1: () → dynamic {
-    return 1;
-  }};
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.legacy.transformed.expect
deleted file mode 100644
index eb743c65..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic v = <core::int*, dynamic>{1: () → dynamic {
-    return 1;
-  }};
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.legacy.expect
deleted file mode 100644
index 9d859cc..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () → core::int;
-static method main() → dynamic {
-  dynamic v = <core::int, () → core::int>{1: () → dynamic {
-    return 1;
-  }};
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.legacy.transformed.expect
deleted file mode 100644
index 9d859cc..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () → core::int;
-static method main() → dynamic {
-  dynamic v = <core::int, () → core::int>{1: () → dynamic {
-    return 1;
-  }};
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.legacy.expect
deleted file mode 100644
index c3ba8bd..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = <dynamic, dynamic>{1: () → dynamic {
-    return 1;
-  }};
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.legacy.transformed.expect
deleted file mode 100644
index c3ba8bd..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic {
-  dynamic v = <dynamic, dynamic>{1: () → dynamic {
-    return 1;
-  }};
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.legacy.expect
deleted file mode 100644
index f51aabe..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
-    return <self::C::f::T*>[g.call()];
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•().f<dynamic>(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.legacy.transformed.expect
deleted file mode 100644
index f51aabe..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
-    return <self::C::f::T*>[g.call()];
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•().f<dynamic>(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.legacy.expect
deleted file mode 100644
index 6d4f94d..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object = dynamic>(() → self::C::f::T g) → core::List<self::C::f::T>
-    return <self::C::f::T>[g.call()];
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•().f<core::int>(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index 6d4f94d..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object = dynamic>(() → self::C::f::T g) → core::List<self::C::f::T>
-    return <self::C::f::T>[g.call()];
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•().f<core::int>(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.legacy.expect
deleted file mode 100644
index 3c0e8921..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
-    return <self::C::f::T*>[g.call()];
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•().f(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index 3c0e8921..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
-    return <self::C::f::T*>[g.call()];
-}
-static method main() → dynamic {
-  dynamic v = new self::C::•().f(() → dynamic {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.legacy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.legacy.expect
deleted file mode 100644
index c389e3b..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(dynamic x) → core::double*
-    return 1.0;
-}
-static field dynamic v = new self::C::•().f(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.legacy.transformed.expect
deleted file mode 100644
index c389e3b..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(dynamic x) → core::double*
-    return 1.0;
-}
-static field dynamic v = new self::C::•().f(() → dynamic {
-  return 1;
-});
-static method main() → dynamic {
-  self::v;
-}
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.legacy.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.legacy.expect
deleted file mode 100644
index 2873ac1..0000000
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = self::run<dynamic>(#C1);
-static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* {
-  core::print("running");
-  dynamic t = f.call();
-  core::print("done running");
-  return t;
-}
-static method printRunning() → void {
-  core::print("running");
-}
-static method main() → dynamic {
-  function printRunning() → void {
-    core::print("running");
-  }
-  dynamic x = self::run<dynamic>(printRunning);
-  dynamic y = self::run<dynamic>(printRunning);
-  x = 123;
-  x = "hi";
-  y = 123;
-  y = "hi";
-}
-
-constants  {
-  #C1 = tearoff self::printRunning
-}
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.legacy.transformed.expect
deleted file mode 100644
index 2873ac1..0000000
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = self::run<dynamic>(#C1);
-static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* {
-  core::print("running");
-  dynamic t = f.call();
-  core::print("done running");
-  return t;
-}
-static method printRunning() → void {
-  core::print("running");
-}
-static method main() → dynamic {
-  function printRunning() → void {
-    core::print("running");
-  }
-  dynamic x = self::run<dynamic>(printRunning);
-  dynamic y = self::run<dynamic>(printRunning);
-  x = 123;
-  x = "hi";
-  y = 123;
-  y = "hi";
-}
-
-constants  {
-  #C1 = tearoff self::printRunning
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.legacy.expect
deleted file mode 100644
index e97be60..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::B<self::D::X, self::D::Y>* = dynamic, Y extends self::C<self::D::X*, self::D::Y>* = dynamic, Z extends (self::D::Y*) →* self::D::X* = dynamic, W extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*, self::D::Z*, self::D::W*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::D<dynamic, dynamic, dynamic, dynamic>* d;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.legacy.transformed.expect
deleted file mode 100644
index e97be60..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::B<self::D::X, self::D::Y>* = dynamic, Y extends self::C<self::D::X*, self::D::Y>* = dynamic, Z extends (self::D::Y*) →* self::D::X* = dynamic, W extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*, self::D::Z*, self::D::W*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::D<dynamic, dynamic, dynamic, dynamic>* d;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.legacy.expect
deleted file mode 100644
index d673e2c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    col::LinkedListEntry<dynamic>* bar;
-  }
-}
-static method main() → dynamic {
-  col::LinkedListEntry<dynamic>* bar;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.legacy.transformed.expect
deleted file mode 100644
index d673e2c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    col::LinkedListEntry<dynamic>* bar;
-  }
-}
-static method main() → dynamic {
-  col::LinkedListEntry<dynamic>* bar;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.legacy.expect
deleted file mode 100644
index 60b05e4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <self::A<dynamic>*>[];
-  }
-}
-static method main() → dynamic {
-  dynamic a = <self::A<dynamic>*>[];
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.legacy.transformed.expect
deleted file mode 100644
index 60b05e4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <self::A<dynamic>*>[];
-  }
-}
-static method main() → dynamic {
-  dynamic a = <self::A<dynamic>*>[];
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.legacy.expect
deleted file mode 100644
index c180e2a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::U*>*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    core::List<self::A<self::B::U*>*>* foo = <self::A<self::B::U*>*>[];
-    core::List<self::A<core::num*>*>* bar = <self::A<core::num*>*>[];
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.legacy.transformed.expect
deleted file mode 100644
index c180e2a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::U*>*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    core::List<self::A<self::B::U*>*>* foo = <self::A<self::B::U*>*>[];
-    core::List<self::A<core::num*>*>* bar = <self::A<core::num*>*>[];
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.legacy.expect
deleted file mode 100644
index 35bc6ea..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <self::A<dynamic>*, self::A<dynamic>*>{};
-  }
-}
-static method main() → dynamic {
-  dynamic a = <self::A<dynamic>*, self::A<dynamic>*>{};
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.legacy.transformed.expect
deleted file mode 100644
index 35bc6ea..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <self::A<dynamic>*, self::A<dynamic>*>{};
-  }
-}
-static method main() → dynamic {
-  dynamic a = <self::A<dynamic>*, self::A<dynamic>*>{};
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.legacy.expect
deleted file mode 100644
index 19fd0f6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    self::A<dynamic>* a;
-    col::DoubleLinkedQueue<dynamic>* c;
-  }
-}
-static method main() → dynamic {
-  self::A<dynamic>* a;
-  col::DoubleLinkedQueue<dynamic>* c;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 19fd0f6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    self::A<dynamic>* a;
-    col::DoubleLinkedQueue<dynamic>* c;
-  }
-}
-static method main() → dynamic {
-  self::A<dynamic>* a;
-  col::DoubleLinkedQueue<dynamic>* c;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.legacy.expect
deleted file mode 100644
index c028064..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends self::A<self::A::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    self::A<dynamic>* a;
-  }
-}
-static method main() → dynamic {
-  self::A<dynamic>* a;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.legacy.transformed.expect
deleted file mode 100644
index c028064..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends self::A<self::A::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    self::A<dynamic>* a;
-  }
-}
-static method main() → dynamic {
-  self::A<dynamic>* a;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.legacy.expect
deleted file mode 100644
index e5540da..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <(dynamic) →* dynamic>[];
-  }
-}
-static method main() → dynamic {
-  dynamic a = <(dynamic) →* dynamic>[];
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.legacy.transformed.expect
deleted file mode 100644
index e5540da..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <(dynamic) →* dynamic>[];
-  }
-}
-static method main() → dynamic {
-  dynamic a = <(dynamic) →* dynamic>[];
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.legacy.expect
deleted file mode 100644
index e923e16..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class B<U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::U*>*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    core::List<(self::B::U*) →* dynamic>* foo = <(self::B::U*) →* dynamic>[];
-    core::List<(core::num*) →* dynamic>* bar = <(core::num*) →* dynamic>[];
-  }
-}
-static method main() → dynamic {
-  core::List<(core::num*) →* dynamic>* bar = <(core::num*) →* dynamic>[];
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.legacy.transformed.expect
deleted file mode 100644
index e923e16..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class B<U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::U*>*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    core::List<(self::B::U*) →* dynamic>* foo = <(self::B::U*) →* dynamic>[];
-    core::List<(core::num*) →* dynamic>* bar = <(core::num*) →* dynamic>[];
-  }
-}
-static method main() → dynamic {
-  core::List<(core::num*) →* dynamic>* bar = <(core::num*) →* dynamic>[];
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.legacy.expect
deleted file mode 100644
index 65c68b7..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <(dynamic) →* dynamic, (dynamic) →* dynamic>{};
-  }
-}
-static method main() → dynamic {
-  dynamic a = <(dynamic) →* dynamic, (dynamic) →* dynamic>{};
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.legacy.transformed.expect
deleted file mode 100644
index 65c68b7..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    dynamic a = <(dynamic) →* dynamic, (dynamic) →* dynamic>{};
-  }
-}
-static method main() → dynamic {
-  dynamic a = <(dynamic) →* dynamic, (dynamic) →* dynamic>{};
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.legacy.expect
deleted file mode 100644
index b0dc0d8..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    (dynamic) →* dynamic a;
-  }
-}
-static method main() → dynamic {
-  (dynamic) →* dynamic a;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.legacy.transformed.expect
deleted file mode 100644
index b0dc0d8..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    (dynamic) →* dynamic a;
-  }
-}
-static method main() → dynamic {
-  (dynamic) →* dynamic a;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.legacy.expect
deleted file mode 100644
index b324e04..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C<X extends core::num* = dynamic, Y extends (self::C::X*) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic, dynamic>* c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.legacy.transformed.expect
deleted file mode 100644
index b324e04..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C<X extends core::num* = dynamic, Y extends (self::C::X*) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic, dynamic>* c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.legacy.expect
deleted file mode 100644
index 460411c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C<X extends core::num* = dynamic, Y extends (self::C::X*) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc = <self::C<dynamic, dynamic>*>[];
-static field dynamic mc = <self::C<dynamic, dynamic>*, self::C<dynamic, dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.legacy.transformed.expect
deleted file mode 100644
index 460411c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C<X extends core::num* = dynamic, Y extends (self::C::X*) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc = <self::C<dynamic, dynamic>*>[];
-static field dynamic mc = <self::C<dynamic, dynamic>*, self::C<dynamic, dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.legacy.expect
deleted file mode 100644
index 3e40298..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends (self::D::X, self::D::Y) →* void = dynamic, Y extends (self::D::X*, self::D::Y) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic>* e;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.legacy.transformed.expect
deleted file mode 100644
index 3e40298..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends (self::D::X, self::D::Y) →* void = dynamic, Y extends (self::D::X*, self::D::Y) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic>* e;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.legacy.expect
deleted file mode 100644
index c68a81a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends (self::D::X, self::D::Y) →* void = dynamic, Y extends (self::D::X*, self::D::Y) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic>*>[];
-static field dynamic me = <self::E<dynamic>*, self::E<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.legacy.transformed.expect
deleted file mode 100644
index c68a81a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends (self::D::X, self::D::Y) →* void = dynamic, Y extends (self::D::X*, self::D::Y) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic>*>[];
-static field dynamic me = <self::E<dynamic>*, self::E<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.legacy.expect
deleted file mode 100644
index c9a2ee9..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends self::A<self::C::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends self::A<self::D::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends core::Object* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends core::num* = dynamic, Y extends () →* self::F::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*, self::F::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic, dynamic>* c;
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic, dynamic>* e;
-static field self::F<dynamic, dynamic>* f;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.legacy.transformed.expect
deleted file mode 100644
index c9a2ee9..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends self::A<self::C::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends self::A<self::D::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends core::Object* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends core::num* = dynamic, Y extends () →* self::F::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*, self::F::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic, dynamic>* c;
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic, dynamic>* e;
-static field self::F<dynamic, dynamic>* f;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.legacy.expect
deleted file mode 100644
index 39feb06..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends self::A<self::C::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends self::A<self::D::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends core::Object* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends core::num* = dynamic, Y extends () →* self::F::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*, self::F::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc = <self::C<dynamic, dynamic>*>[];
-static field dynamic mc = <self::C<dynamic, dynamic>*, self::C<dynamic, dynamic>*>{};
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic, dynamic>*>[];
-static field dynamic me = <self::E<dynamic, dynamic>*, self::E<dynamic, dynamic>*>{};
-static field dynamic lf = <self::F<dynamic, dynamic>*>[];
-static field dynamic mf = <self::F<dynamic, dynamic>*, self::F<dynamic, dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.legacy.transformed.expect
deleted file mode 100644
index 39feb06..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends self::A<self::C::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends self::A<self::D::X*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends core::Object* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends core::num* = dynamic, Y extends () →* self::F::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*, self::F::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc = <self::C<dynamic, dynamic>*>[];
-static field dynamic mc = <self::C<dynamic, dynamic>*, self::C<dynamic, dynamic>*>{};
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic, dynamic>*>[];
-static field dynamic me = <self::E<dynamic, dynamic>*, self::E<dynamic, dynamic>*>{};
-static field dynamic lf = <self::F<dynamic, dynamic>*>[];
-static field dynamic mf = <self::F<dynamic, dynamic>*, self::F<dynamic, dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.legacy.expect
deleted file mode 100644
index 55839c2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::B<self::D::X, self::D::Y>* = dynamic, Y extends self::C<self::D::X*, self::D::Y>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends self::B<self::E::X, self::E::Y>* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends () →* self::F::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*>*
-    : super core::Object::•()
-    ;
-}
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic, dynamic>* e;
-static field self::F<dynamic>* f;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.legacy.transformed.expect
deleted file mode 100644
index 55839c2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::B<self::D::X, self::D::Y>* = dynamic, Y extends self::C<self::D::X*, self::D::Y>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends self::B<self::E::X, self::E::Y>* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends () →* self::F::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*>*
-    : super core::Object::•()
-    ;
-}
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic, dynamic>* e;
-static field self::F<dynamic>* f;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.legacy.expect
deleted file mode 100644
index 60b80f5..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::B<self::D::X, self::D::Y>* = dynamic, Y extends self::C<self::D::X*, self::D::Y>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends self::B<self::E::X, self::E::Y>* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends () →* self::F::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic, dynamic>*>[];
-static field dynamic me = <self::E<dynamic, dynamic>*, self::E<dynamic, dynamic>*>{};
-static field dynamic lf = <self::F<dynamic>*>[];
-static field dynamic mf = <self::F<dynamic>*, self::F<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.legacy.transformed.expect
deleted file mode 100644
index 60b80f5..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::B<self::D::X, self::D::Y>* = dynamic, Y extends self::C<self::D::X*, self::D::Y>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends self::B<self::E::X, self::E::Y>* = dynamic, Y extends () →* self::E::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*, self::E::Y*>*
-    : super core::Object::•()
-    ;
-}
-class F<X extends () →* self::F::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::X*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic, dynamic>*>[];
-static field dynamic me = <self::E<dynamic, dynamic>*, self::E<dynamic, dynamic>*>{};
-static field dynamic lf = <self::F<dynamic>*>[];
-static field dynamic mf = <self::F<dynamic>*, self::F<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.legacy.expect
deleted file mode 100644
index 0ec1085..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends (self::C::X*) →* self::C::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends (self::D::X*) →* self::D::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic, dynamic>* c;
-static field self::D<dynamic, dynamic>* d;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.legacy.transformed.expect
deleted file mode 100644
index 0ec1085..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends (self::C::X*) →* self::C::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends (self::D::X*) →* self::D::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic, dynamic>* c;
-static field self::D<dynamic, dynamic>* d;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.legacy.expect
deleted file mode 100644
index 04ae9c8..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends (self::C::X*) →* self::C::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends (self::D::X*) →* self::D::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc = <self::C<dynamic, dynamic>*>[];
-static field dynamic mc = <self::C<dynamic, dynamic>*, self::C<dynamic, dynamic>*>{};
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.legacy.transformed.expect
deleted file mode 100644
index 04ae9c8..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends (self::C::X*) →* self::C::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends core::num* = dynamic, Y extends (self::D::X*) →* self::D::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc = <self::C<dynamic, dynamic>*>[];
-static field dynamic mc = <self::C<dynamic, dynamic>*, self::C<dynamic, dynamic>*>{};
-static field dynamic ld = <self::D<dynamic, dynamic>*>[];
-static field dynamic md = <self::D<dynamic, dynamic>*, self::D<dynamic, dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.legacy.expect
deleted file mode 100644
index 0be2e91..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-static field col::LinkedListEntry<dynamic>* y;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.legacy.transformed.expect
deleted file mode 100644
index 0be2e91..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-static field col::LinkedListEntry<dynamic>* y;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.legacy.expect
deleted file mode 100644
index 5795761..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::A<dynamic>* a = new self::A::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 5795761..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::A<dynamic>* a = new self::A::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.legacy.expect
deleted file mode 100644
index 72d2154..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::A::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 72d2154..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::A::•<dynamic>();
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.legacy.expect
deleted file mode 100644
index bfaa733..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::num* = dynamic, S extends core::List<self::B::T*>* = dynamic> extends self::A<self::B::T*> {
-  constructor •([self::B::T* x = #C1]) → self::B<self::B::T*, self::B::S*>*
-    : super self::A::•() {}
-}
-static method main() → dynamic {
-  self::B<dynamic, dynamic>* x;
-  dynamic y = new self::B::•<dynamic, dynamic>(3);
-  self::A<core::int*>* z = new self::B::•<dynamic, dynamic>();
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.legacy.transformed.expect
deleted file mode 100644
index bfaa733..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends core::num* = dynamic, S extends core::List<self::B::T*>* = dynamic> extends self::A<self::B::T*> {
-  constructor •([self::B::T* x = #C1]) → self::B<self::B::T*, self::B::S*>*
-    : super self::A::•() {}
-}
-static method main() → dynamic {
-  self::B<dynamic, dynamic>* x;
-  dynamic y = new self::B::•<dynamic, dynamic>(3);
-  self::A<core::int*>* z = new self::B::•<dynamic, dynamic>();
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.legacy.expect
deleted file mode 100644
index 61b9008..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Comparable<self::B::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic y = new self::B::•<dynamic>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.legacy.transformed.expect
deleted file mode 100644
index 61b9008..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Comparable<self::B::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic y = new self::B::•<dynamic>();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.legacy.expect
deleted file mode 100644
index ac3fd57..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(self::A<dynamic>* a) → dynamic
-    return null;
-  method bar() → self::A<dynamic>*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.legacy.transformed.expect
deleted file mode 100644
index ac3fd57..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(self::A<dynamic>* a) → dynamic
-    return null;
-  method bar() → self::A<dynamic>*
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.legacy.expect
deleted file mode 100644
index 2e8ae5f..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic a = <self::A<dynamic>*>[];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.legacy.transformed.expect
deleted file mode 100644
index 2e8ae5f..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic a = <self::A<dynamic>*>[];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.legacy.expect
deleted file mode 100644
index 20bcbed..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<S extends core::Object* = dynamic> extends core::Object {
-  final field core::List<self::A<self::B::S*>*>* foo = <self::A<self::B::S*>*>[];
-  final field core::List<self::A<core::num*>*>* bar = <self::A<core::num*>*>[];
-  synthetic constructor •() → self::B<self::B::S*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.legacy.transformed.expect
deleted file mode 100644
index 20bcbed..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<S extends core::Object* = dynamic> extends core::Object {
-  final field core::List<self::A<self::B::S*>*>* foo = <self::A<self::B::S*>*>[];
-  final field core::List<self::A<core::num*>*>* bar = <self::A<core::num*>*>[];
-  synthetic constructor •() → self::B<self::B::S*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.legacy.expect
deleted file mode 100644
index 1ca0d1a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic a = <self::A<dynamic>*, self::A<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.legacy.transformed.expect
deleted file mode 100644
index 1ca0d1a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic a = <self::A<dynamic>*, self::A<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.legacy.expect
deleted file mode 100644
index c863575..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.legacy.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:41:9: Error: Type 'T' is a bound of itself via 'U', 'Y', 'Z'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-// class I<T extends U, U extends Y, V extends Function(W), W extends Function(X),
-//         ^
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:41:22: Error: Type 'U' is a bound of itself via 'Y', 'Z', 'T'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-// class I<T extends U, U extends Y, V extends Function(W), W extends Function(X),
-//                      ^
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:42:28: Error: Type 'Y' is a bound of itself via 'Z', 'T', 'U'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-//     X extends Function(V), Y extends Z, Z extends T> {}
-//                            ^
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:42:41: Error: Type 'Z' is a bound of itself via 'T', 'U', 'Y'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-//     X extends Function(V), Y extends Z, Z extends T> {}
-//                                         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::A<self::D::X>* = dynamic, Y extends self::A<self::D::Y>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<W extends self::B<self::E::W, self::E::X>* = dynamic, X extends self::C<self::E::W*, self::E::X>* = dynamic, Y extends self::B<self::E::Y, self::E::Z>* = dynamic, Z extends self::C<self::E::Y*, self::E::Z>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::W*, self::E::X*, self::E::Y*, self::E::Z*>*
-    : super core::Object::•()
-    ;
-}
-class F<V extends core::num* = dynamic, W extends self::B<self::F::W, self::F::X>* = dynamic, X extends self::C<self::F::W*, self::F::X>* = dynamic, Y extends self::B<self::F::W*, self::F::X*>* = dynamic, Z extends self::C<self::F::Y*, self::F::Z>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::V*, self::F::W*, self::F::X*, self::F::Y*, self::F::Z*>*
-    : super core::Object::•()
-    ;
-}
-class G<V extends core::num* = dynamic, W extends self::B<self::G::V*, self::G::X>* = dynamic, X extends self::C<self::G::W*, self::G::V*>* = dynamic, Y extends self::B<self::G::W*, self::G::X*>* = dynamic, Z extends self::C<self::G::Y*, self::G::Z>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::V*, self::G::W*, self::G::X*, self::G::Y*, self::G::Z*>*
-    : super core::Object::•()
-    ;
-}
-class H<S extends self::A<self::H::S>* = dynamic, T extends self::B<self::H::T, self::H::U>* = dynamic, U extends self::C<self::H::T*, self::H::U>* = dynamic, V extends self::A<self::H::V>* = dynamic, W extends self::H::S* = dynamic, X extends self::H::T* = dynamic, Y extends self::H::U* = dynamic, Z extends self::H::V* = dynamic> extends core::Object {
-  synthetic constructor •() → self::H<self::H::S*, self::H::T*, self::H::U*, self::H::V*, self::H::W*, self::H::X*, self::H::Y*, self::H::Z*>*
-    : super core::Object::•()
-    ;
-}
-class I<T extends self::I::U = dynamic, U extends self::I::Y = dynamic, V extends (self::I::W) →* dynamic = dynamic, W extends (self::I::X) →* dynamic = dynamic, X extends (self::I::V*) →* dynamic = dynamic, Y extends self::I::Z = dynamic, Z extends self::I::T = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T, self::I::U, self::I::V*, self::I::W*, self::I::X*, self::I::Y, self::I::Z>*
-    : super core::Object::•()
-    ;
-}
-class J<S extends (self::J::U) →* self::J::T = dynamic, T extends (self::J::S*) →* self::J::U = dynamic, U extends (self::J::T*) →* self::J::S* = dynamic, V extends self::J::W = dynamic, W extends self::J::X = dynamic, X extends (self::J::V) →* self::J::Y = dynamic, Y extends self::J::Z = dynamic, Z extends self::J::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::S*, self::J::T*, self::J::U*, self::J::V, self::J::W, self::J::X*, self::J::Y, self::J::Z*>*
-    : super core::Object::•()
-    ;
-}
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic, dynamic, dynamic, dynamic>* e;
-static field self::F<dynamic, dynamic, dynamic, dynamic, dynamic>* f;
-static field self::G<dynamic, dynamic, dynamic, dynamic, dynamic>* g;
-static field self::H<dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic>* h;
-static field self::I<dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic>* i;
-static field self::J<dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic>* j;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.legacy.transformed.expect
deleted file mode 100644
index c863575..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:41:9: Error: Type 'T' is a bound of itself via 'U', 'Y', 'Z'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-// class I<T extends U, U extends Y, V extends Function(W), W extends Function(X),
-//         ^
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:41:22: Error: Type 'U' is a bound of itself via 'Y', 'Z', 'T'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-// class I<T extends U, U extends Y, V extends Function(W), W extends Function(X),
-//                      ^
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:42:28: Error: Type 'Y' is a bound of itself via 'Z', 'T', 'U'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-//     X extends Function(V), Y extends Z, Z extends T> {}
-//                            ^
-//
-// pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart:42:41: Error: Type 'Z' is a bound of itself via 'T', 'U', 'Y'.
-// Try breaking the cycle by removing at least on of the 'extends' clauses in the cycle.
-//     X extends Function(V), Y extends Z, Z extends T> {}
-//                                         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::X*, self::C::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D<X extends self::A<self::D::X>* = dynamic, Y extends self::A<self::D::Y>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::X*, self::D::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<W extends self::B<self::E::W, self::E::X>* = dynamic, X extends self::C<self::E::W*, self::E::X>* = dynamic, Y extends self::B<self::E::Y, self::E::Z>* = dynamic, Z extends self::C<self::E::Y*, self::E::Z>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::W*, self::E::X*, self::E::Y*, self::E::Z*>*
-    : super core::Object::•()
-    ;
-}
-class F<V extends core::num* = dynamic, W extends self::B<self::F::W, self::F::X>* = dynamic, X extends self::C<self::F::W*, self::F::X>* = dynamic, Y extends self::B<self::F::W*, self::F::X*>* = dynamic, Z extends self::C<self::F::Y*, self::F::Z>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::F<self::F::V*, self::F::W*, self::F::X*, self::F::Y*, self::F::Z*>*
-    : super core::Object::•()
-    ;
-}
-class G<V extends core::num* = dynamic, W extends self::B<self::G::V*, self::G::X>* = dynamic, X extends self::C<self::G::W*, self::G::V*>* = dynamic, Y extends self::B<self::G::W*, self::G::X*>* = dynamic, Z extends self::C<self::G::Y*, self::G::Z>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::V*, self::G::W*, self::G::X*, self::G::Y*, self::G::Z*>*
-    : super core::Object::•()
-    ;
-}
-class H<S extends self::A<self::H::S>* = dynamic, T extends self::B<self::H::T, self::H::U>* = dynamic, U extends self::C<self::H::T*, self::H::U>* = dynamic, V extends self::A<self::H::V>* = dynamic, W extends self::H::S* = dynamic, X extends self::H::T* = dynamic, Y extends self::H::U* = dynamic, Z extends self::H::V* = dynamic> extends core::Object {
-  synthetic constructor •() → self::H<self::H::S*, self::H::T*, self::H::U*, self::H::V*, self::H::W*, self::H::X*, self::H::Y*, self::H::Z*>*
-    : super core::Object::•()
-    ;
-}
-class I<T extends self::I::U = dynamic, U extends self::I::Y = dynamic, V extends (self::I::W) →* dynamic = dynamic, W extends (self::I::X) →* dynamic = dynamic, X extends (self::I::V*) →* dynamic = dynamic, Y extends self::I::Z = dynamic, Z extends self::I::T = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T, self::I::U, self::I::V*, self::I::W*, self::I::X*, self::I::Y, self::I::Z>*
-    : super core::Object::•()
-    ;
-}
-class J<S extends (self::J::U) →* self::J::T = dynamic, T extends (self::J::S*) →* self::J::U = dynamic, U extends (self::J::T*) →* self::J::S* = dynamic, V extends self::J::W = dynamic, W extends self::J::X = dynamic, X extends (self::J::V) →* self::J::Y = dynamic, Y extends self::J::Z = dynamic, Z extends self::J::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::S*, self::J::T*, self::J::U*, self::J::V, self::J::W, self::J::X*, self::J::Y, self::J::Z*>*
-    : super core::Object::•()
-    ;
-}
-static field self::D<dynamic, dynamic>* d;
-static field self::E<dynamic, dynamic, dynamic, dynamic>* e;
-static field self::F<dynamic, dynamic, dynamic, dynamic, dynamic>* f;
-static field self::G<dynamic, dynamic, dynamic, dynamic, dynamic>* g;
-static field self::H<dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic>* h;
-static field self::I<dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic>* i;
-static field self::J<dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic>* j;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.legacy.expect
deleted file mode 100644
index 9096a3f..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.legacy.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C1<X extends (self::C1::Y) →* self::C1::X = dynamic, Y extends (self::C1::Y) →* self::C1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C1<self::C1::X*, self::C1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C2<X extends (self::C2::Y) →* self::C2::X = dynamic, Y extends (self::C2::X*) →* self::C2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C2<self::C2::X*, self::C2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C3<X extends (self::C3::X, self::C3::Y) →* self::C3::X = dynamic, Y extends (self::C3::X*, self::C3::Y) →* self::C3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C3<self::C3::X*, self::C3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C4<X extends (self::C4::X, self::C4::Y) →* self::C4::X = dynamic, Y extends (self::C4::X*, self::C4::Y) →* self::C4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C4<self::C4::X*, self::C4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D1<X extends self::B<self::D1::X, self::D1::Y>* = dynamic, Y extends (self::D1::Y) →* self::D1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D1<self::D1::X*, self::D1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D2<X extends self::B<self::D2::X, self::D2::Y>* = dynamic, Y extends (self::D2::X*) →* self::D2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D2<self::D2::X*, self::D2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D3<X extends self::B<self::D3::X, self::D3::Y>* = dynamic, Y extends (self::D3::X*, self::D3::Y) →* self::D3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D3<self::D3::X*, self::D3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D4<X extends self::B<self::D4::X, self::D4::Y>* = dynamic, Y extends (self::D4::X*, self::D4::Y) →* self::D4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D4<self::D4::X*, self::D4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* self::E::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C1<dynamic, dynamic>* c1;
-static field self::C2<dynamic, dynamic>* c2;
-static field self::C3<dynamic, dynamic>* c3;
-static field self::C4<dynamic, dynamic>* c4;
-static field self::D1<dynamic, dynamic>* d1;
-static field self::D2<dynamic, dynamic>* d2;
-static field self::D3<dynamic, dynamic>* d3;
-static field self::D4<dynamic, dynamic>* d4;
-static field self::E<dynamic>* e;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.legacy.transformed.expect
deleted file mode 100644
index 9096a3f..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C1<X extends (self::C1::Y) →* self::C1::X = dynamic, Y extends (self::C1::Y) →* self::C1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C1<self::C1::X*, self::C1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C2<X extends (self::C2::Y) →* self::C2::X = dynamic, Y extends (self::C2::X*) →* self::C2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C2<self::C2::X*, self::C2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C3<X extends (self::C3::X, self::C3::Y) →* self::C3::X = dynamic, Y extends (self::C3::X*, self::C3::Y) →* self::C3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C3<self::C3::X*, self::C3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C4<X extends (self::C4::X, self::C4::Y) →* self::C4::X = dynamic, Y extends (self::C4::X*, self::C4::Y) →* self::C4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C4<self::C4::X*, self::C4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D1<X extends self::B<self::D1::X, self::D1::Y>* = dynamic, Y extends (self::D1::Y) →* self::D1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D1<self::D1::X*, self::D1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D2<X extends self::B<self::D2::X, self::D2::Y>* = dynamic, Y extends (self::D2::X*) →* self::D2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D2<self::D2::X*, self::D2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D3<X extends self::B<self::D3::X, self::D3::Y>* = dynamic, Y extends (self::D3::X*, self::D3::Y) →* self::D3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D3<self::D3::X*, self::D3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D4<X extends self::B<self::D4::X, self::D4::Y>* = dynamic, Y extends (self::D4::X*, self::D4::Y) →* self::D4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D4<self::D4::X*, self::D4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* self::E::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C1<dynamic, dynamic>* c1;
-static field self::C2<dynamic, dynamic>* c2;
-static field self::C3<dynamic, dynamic>* c3;
-static field self::C4<dynamic, dynamic>* c4;
-static field self::D1<dynamic, dynamic>* d1;
-static field self::D2<dynamic, dynamic>* d2;
-static field self::D3<dynamic, dynamic>* d3;
-static field self::D4<dynamic, dynamic>* d4;
-static field self::E<dynamic>* e;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.legacy.expect
deleted file mode 100644
index 4c6d523..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.legacy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C1<X extends (self::C1::Y) →* self::C1::X = dynamic, Y extends (self::C1::Y) →* self::C1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C1<self::C1::X*, self::C1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C2<X extends (self::C2::Y) →* self::C2::X = dynamic, Y extends (self::C2::X*) →* self::C2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C2<self::C2::X*, self::C2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C3<X extends (self::C3::X, self::C3::Y) →* self::C3::X = dynamic, Y extends (self::C3::X*, self::C3::Y) →* self::C3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C3<self::C3::X*, self::C3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C4<X extends (self::C4::X, self::C4::Y) →* self::C4::X = dynamic, Y extends (self::C4::X*, self::C4::Y) →* self::C4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C4<self::C4::X*, self::C4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D1<X extends self::B<self::D1::X, self::D1::Y>* = dynamic, Y extends (self::D1::Y) →* self::D1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D1<self::D1::X*, self::D1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D2<X extends self::B<self::D2::X, self::D2::Y>* = dynamic, Y extends (self::D2::X*) →* self::D2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D2<self::D2::X*, self::D2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D3<X extends self::B<self::D3::X, self::D3::Y>* = dynamic, Y extends (self::D3::X*, self::D3::Y) →* self::D3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D3<self::D3::X*, self::D3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D4<X extends self::B<self::D4::X, self::D4::Y>* = dynamic, Y extends (self::D4::X*, self::D4::Y) →* self::D4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D4<self::D4::X*, self::D4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* self::E::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc1 = <self::C1<dynamic, dynamic>*>[];
-static field dynamic mc1 = <self::C1<dynamic, dynamic>*, self::C1<dynamic, dynamic>*>{};
-static field dynamic lc2 = <self::C2<dynamic, dynamic>*>[];
-static field dynamic mc2 = <self::C2<dynamic, dynamic>*, self::C2<dynamic, dynamic>*>{};
-static field dynamic lc3 = <self::C3<dynamic, dynamic>*>[];
-static field dynamic mc3 = <self::C3<dynamic, dynamic>*, self::C3<dynamic, dynamic>*>{};
-static field dynamic lc4 = <self::C4<dynamic, dynamic>*>[];
-static field dynamic mc4 = <self::C4<dynamic, dynamic>*, self::C4<dynamic, dynamic>*>{};
-static field dynamic ld1 = <self::D1<dynamic, dynamic>*>[];
-static field dynamic md1 = <self::D1<dynamic, dynamic>*, self::D1<dynamic, dynamic>*>{};
-static field dynamic ld2 = <self::D2<dynamic, dynamic>*>[];
-static field dynamic md2 = <self::D2<dynamic, dynamic>*, self::D2<dynamic, dynamic>*>{};
-static field dynamic ld3 = <self::D3<dynamic, dynamic>*>[];
-static field dynamic md3 = <self::D3<dynamic, dynamic>*, self::D3<dynamic, dynamic>*>{};
-static field dynamic ld4 = <self::D4<dynamic, dynamic>*>[];
-static field dynamic md4 = <self::D4<dynamic, dynamic>*, self::D4<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic>*>[];
-static field dynamic me = <self::E<dynamic>*, self::E<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.legacy.transformed.expect
deleted file mode 100644
index 4c6d523..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*, self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C1<X extends (self::C1::Y) →* self::C1::X = dynamic, Y extends (self::C1::Y) →* self::C1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C1<self::C1::X*, self::C1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C2<X extends (self::C2::Y) →* self::C2::X = dynamic, Y extends (self::C2::X*) →* self::C2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C2<self::C2::X*, self::C2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C3<X extends (self::C3::X, self::C3::Y) →* self::C3::X = dynamic, Y extends (self::C3::X*, self::C3::Y) →* self::C3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C3<self::C3::X*, self::C3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class C4<X extends (self::C4::X, self::C4::Y) →* self::C4::X = dynamic, Y extends (self::C4::X*, self::C4::Y) →* self::C4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::C4<self::C4::X*, self::C4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D1<X extends self::B<self::D1::X, self::D1::Y>* = dynamic, Y extends (self::D1::Y) →* self::D1::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D1<self::D1::X*, self::D1::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D2<X extends self::B<self::D2::X, self::D2::Y>* = dynamic, Y extends (self::D2::X*) →* self::D2::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D2<self::D2::X*, self::D2::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D3<X extends self::B<self::D3::X, self::D3::Y>* = dynamic, Y extends (self::D3::X*, self::D3::Y) →* self::D3::X* = dynamic> extends core::Object {
-  synthetic constructor •() → self::D3<self::D3::X*, self::D3::Y*>*
-    : super core::Object::•()
-    ;
-}
-class D4<X extends self::B<self::D4::X, self::D4::Y>* = dynamic, Y extends (self::D4::X*, self::D4::Y) →* self::D4::Y = dynamic> extends core::Object {
-  synthetic constructor •() → self::D4<self::D4::X*, self::D4::Y*>*
-    : super core::Object::•()
-    ;
-}
-class E<X extends (self::E::X) →* self::E::X = dynamic> extends core::Object {
-  synthetic constructor •() → self::E<self::E::X*>*
-    : super core::Object::•()
-    ;
-}
-static field dynamic lc1 = <self::C1<dynamic, dynamic>*>[];
-static field dynamic mc1 = <self::C1<dynamic, dynamic>*, self::C1<dynamic, dynamic>*>{};
-static field dynamic lc2 = <self::C2<dynamic, dynamic>*>[];
-static field dynamic mc2 = <self::C2<dynamic, dynamic>*, self::C2<dynamic, dynamic>*>{};
-static field dynamic lc3 = <self::C3<dynamic, dynamic>*>[];
-static field dynamic mc3 = <self::C3<dynamic, dynamic>*, self::C3<dynamic, dynamic>*>{};
-static field dynamic lc4 = <self::C4<dynamic, dynamic>*>[];
-static field dynamic mc4 = <self::C4<dynamic, dynamic>*, self::C4<dynamic, dynamic>*>{};
-static field dynamic ld1 = <self::D1<dynamic, dynamic>*>[];
-static field dynamic md1 = <self::D1<dynamic, dynamic>*, self::D1<dynamic, dynamic>*>{};
-static field dynamic ld2 = <self::D2<dynamic, dynamic>*>[];
-static field dynamic md2 = <self::D2<dynamic, dynamic>*, self::D2<dynamic, dynamic>*>{};
-static field dynamic ld3 = <self::D3<dynamic, dynamic>*>[];
-static field dynamic md3 = <self::D3<dynamic, dynamic>*, self::D3<dynamic, dynamic>*>{};
-static field dynamic ld4 = <self::D4<dynamic, dynamic>*>[];
-static field dynamic md4 = <self::D4<dynamic, dynamic>*, self::D4<dynamic, dynamic>*>{};
-static field dynamic le = <self::E<dynamic>*>[];
-static field dynamic me = <self::E<dynamic>*, self::E<dynamic>*>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.legacy.expect
deleted file mode 100644
index b894394..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<TypeT extends core::Object* = dynamic, TypeS extends self::A::TypeT* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::TypeT*, self::A::TypeS*>*
-    : super core::Object::•()
-    ;
-}
-class B<TypeU extends self::A<dynamic, dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::TypeU*>*
-    : super core::Object::•()
-    ;
-}
-class C<TypeV extends self::B<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::TypeV*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic>* c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.legacy.transformed.expect
deleted file mode 100644
index b894394..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<TypeT extends core::Object* = dynamic, TypeS extends self::A::TypeT* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::TypeT*, self::A::TypeS*>*
-    : super core::Object::•()
-    ;
-}
-class B<TypeU extends self::A<dynamic, dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::TypeU*>*
-    : super core::Object::•()
-    ;
-}
-class C<TypeV extends self::B<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::TypeV*>*
-    : super core::Object::•()
-    ;
-}
-static field self::C<dynamic>* c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.legacy.expect
deleted file mode 100644
index 6f3e1f0..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<TypeT extends core::Object* = dynamic, TypeS extends self::A::TypeT* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::TypeT*, self::A::TypeS*>*
-    : super core::Object::•()
-    ;
-}
-class B<TypeU extends self::A<dynamic, dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::TypeU*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* b;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.legacy.transformed.expect
deleted file mode 100644
index 6f3e1f0..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<TypeT extends core::Object* = dynamic, TypeS extends self::A::TypeT* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::TypeT*, self::A::TypeS*>*
-    : super core::Object::•()
-    ;
-}
-class B<TypeU extends self::A<dynamic, dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::TypeU*>*
-    : super core::Object::•()
-    ;
-}
-static field self::B<dynamic>* b;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.legacy.expect
deleted file mode 100644
index b5089ba..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Fisk = <TypeY extends self::Hest<dynamic>* = dynamic>() →* void;
-class Hest<TypeX extends <TypeY extends self::Hest<dynamic>* = dynamic>() →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.legacy.transformed.expect
deleted file mode 100644
index b5089ba..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Fisk = <TypeY extends self::Hest<dynamic>* = dynamic>() →* void;
-class Hest<TypeX extends <TypeY extends self::Hest<dynamic>* = dynamic>() →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.legacy.expect
deleted file mode 100644
index fef748d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Fisk<TypeY extends self::Hest<dynamic>* = dynamic> = () →* void;
-class Hest<TypeX extends () →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.legacy.transformed.expect
deleted file mode 100644
index fef748d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Fisk<TypeY extends self::Hest<dynamic>* = dynamic> = () →* void;
-class Hest<TypeX extends () →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.legacy.expect
deleted file mode 100644
index 5b4829b..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.legacy.transformed.expect
deleted file mode 100644
index 5b4829b..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.legacy.expect
deleted file mode 100644
index 85030b7..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<dynamic, dynamic>* = dynamic, TypeY extends self::Hest<dynamic, dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*, self::Hest::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.legacy.transformed.expect
deleted file mode 100644
index 85030b7..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<dynamic, dynamic>* = dynamic, TypeY extends self::Hest<dynamic, dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*, self::Hest::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.legacy.expect
deleted file mode 100644
index 4758218..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends core::Map<self::Hest<dynamic>*, self::Hest<dynamic>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.legacy.transformed.expect
deleted file mode 100644
index 4758218..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends core::Map<self::Hest<dynamic>*, self::Hest<dynamic>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.legacy.expect
deleted file mode 100644
index 0350195..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<self::Hest<core::Object*>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.legacy.transformed.expect
deleted file mode 100644
index 0350195..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<self::Hest<core::Object*>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.legacy.expect
deleted file mode 100644
index 2e54e4c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<dynamic>* = dynamic, TypeZ extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*, self::Fisk::TypeZ*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.legacy.transformed.expect
deleted file mode 100644
index 2e54e4c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<dynamic>* = dynamic, TypeZ extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*, self::Fisk::TypeZ*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.legacy.expect
deleted file mode 100644
index 5a5d415..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:collection" as col;
-import "dart:core" as core;
-
-import "dart:collection";
-
-class Hest<X extends col::LinkedListEntry<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::X*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.legacy.transformed.expect
deleted file mode 100644
index 5a5d415..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:collection" as col;
-import "dart:core" as core;
-
-import "dart:collection";
-
-class Hest<X extends col::LinkedListEntry<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::X*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.legacy.expect
deleted file mode 100644
index 32de1c2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends <TypeZ extends self::Hest<core::Null*>* = dynamic>(TypeZ) →* dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.legacy.transformed.expect
deleted file mode 100644
index 32de1c2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends <TypeZ extends self::Hest<core::Null*>* = dynamic>(TypeZ) →* dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.legacy.expect
deleted file mode 100644
index 5699ba6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Fisk<self::Fisk::TypeY>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-class Naebdyr<TypeZ extends core::Map<self::Hest<dynamic>*, self::Fisk<dynamic>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Naebdyr<self::Naebdyr::TypeZ*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.legacy.transformed.expect
deleted file mode 100644
index 5699ba6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Fisk<self::Fisk::TypeY>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-class Naebdyr<TypeZ extends core::Map<self::Hest<dynamic>*, self::Fisk<dynamic>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Naebdyr<self::Naebdyr::TypeZ*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.legacy.expect
deleted file mode 100644
index 293f3ac..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "non_simple_many_libs_same_name_cycle_lib.dart" as non;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///non_simple_many_libs_same_name_cycle_lib.dart" as lib;
-
-class Hest<TypeX extends non::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-library non_simple_many_libs_same_name_cycle_lib;
-import self as non;
-import "non_simple_many_libs_same_name_cycle.dart" as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///non_simple_many_libs_same_name_cycle.dart" as lib;
-
-class Hest<TypeY extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → non::Hest<non::Hest::TypeY*>*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.legacy.transformed.expect
deleted file mode 100644
index 293f3ac..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "non_simple_many_libs_same_name_cycle_lib.dart" as non;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///non_simple_many_libs_same_name_cycle_lib.dart" as lib;
-
-class Hest<TypeX extends non::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-library non_simple_many_libs_same_name_cycle_lib;
-import self as non;
-import "non_simple_many_libs_same_name_cycle.dart" as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///non_simple_many_libs_same_name_cycle.dart" as lib;
-
-class Hest<TypeY extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → non::Hest<non::Hest::TypeY*>*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.legacy.expect
deleted file mode 100644
index 0efd905..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends core::Map<self::Hest<dynamic>*, self::Hest<dynamic>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.legacy.transformed.expect
deleted file mode 100644
index 0efd905..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends core::Map<self::Hest<dynamic>*, self::Hest<dynamic>*>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.legacy.expect
deleted file mode 100644
index b7b9a18..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-class Naebdyr<TypeZ extends self::Fisk<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Naebdyr<self::Naebdyr::TypeZ*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.legacy.transformed.expect
deleted file mode 100644
index b7b9a18..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-class Naebdyr<TypeZ extends self::Fisk<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Naebdyr<self::Naebdyr::TypeZ*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.legacy.expect
deleted file mode 100644
index 577bc72..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.legacy.transformed.expect
deleted file mode 100644
index 577bc72..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Hest<TypeX extends self::Hest<self::Hest::TypeX>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
-    : super core::Object::•()
-    ;
-}
-class Fisk<TypeY extends self::Hest<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Fisk<self::Fisk::TypeY*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.legacy.expect
deleted file mode 100644
index 0a60b50..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo() → self::A<dynamic>*
-    return null;
-  method baz() → col::DoubleLinkedQueue<dynamic>*
-    return null;
-}
-static field self::A<dynamic>* a;
-static field col::DoubleLinkedQueue<dynamic>* c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 0a60b50..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:collection";
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo() → self::A<dynamic>*
-    return null;
-  method baz() → col::DoubleLinkedQueue<dynamic>*
-    return null;
-}
-static field self::A<dynamic>* a;
-static field col::DoubleLinkedQueue<dynamic>* c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.legacy.expect
deleted file mode 100644
index be64316..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.legacy.transformed.expect
deleted file mode 100644
index be64316..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class B<T extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.legacy.expect
deleted file mode 100644
index 6158bfa..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Comparable<self::A::X>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B<Y extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 6158bfa..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<X extends core::Comparable<self::A::X>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B<Y extends self::A<dynamic>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::Y*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.legacy.expect
deleted file mode 100644
index 93c45da..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends self::A<self::A::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::A<dynamic>* a;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.legacy.transformed.expect
deleted file mode 100644
index 93c45da..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends self::A<self::A::T>* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-static field self::A<dynamic>* a;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.legacy.expect
deleted file mode 100644
index 8b201f2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class X<T extends self::B* = dynamic> extends core::Object {
-  synthetic constructor •() → self::X<self::X::T*>*
-    : super core::Object::•()
-    ;
-}
-class Y extends self::X<dynamic> {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-static method main() → void {
-  exp::Expect::isTrue(new self::Y::•() is self::X<dynamic>*);
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.legacy.transformed.expect
deleted file mode 100644
index 8b201f2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class X<T extends self::B* = dynamic> extends core::Object {
-  synthetic constructor •() → self::X<self::X::T*>*
-    : super core::Object::•()
-    ;
-}
-class Y extends self::X<dynamic> {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-static method main() → void {
-  exp::Expect::isTrue(new self::Y::•() is self::X<dynamic>*);
-}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.legacy.expect
deleted file mode 100644
index b644e73..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo((dynamic) →* dynamic a) → dynamic
-    return null;
-  method bar() → (dynamic) →* dynamic
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.legacy.transformed.expect
deleted file mode 100644
index b644e73..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo((dynamic) →* dynamic a) → dynamic
-    return null;
-  method bar() → (dynamic) →* dynamic
-    return null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.legacy.expect
deleted file mode 100644
index 45ab9a7..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-static field dynamic a = <(dynamic) →* dynamic>[];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.legacy.transformed.expect
deleted file mode 100644
index 45ab9a7..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-static field dynamic a = <(dynamic) →* dynamic>[];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.legacy.expect
deleted file mode 100644
index 66e0166..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class B<S extends core::Object* = dynamic> extends core::Object {
-  final field core::List<(self::B::S*) →* dynamic>* foo = <(self::B::S*) →* dynamic>[];
-  final field core::List<(core::num*) →* dynamic>* bar = <(core::num*) →* dynamic>[];
-  synthetic constructor •() → self::B<self::B::S*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.legacy.transformed.expect
deleted file mode 100644
index 66e0166..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class B<S extends core::Object* = dynamic> extends core::Object {
-  final field core::List<(self::B::S*) →* dynamic>* foo = <(self::B::S*) →* dynamic>[];
-  final field core::List<(core::num*) →* dynamic>* bar = <(core::num*) →* dynamic>[];
-  synthetic constructor •() → self::B<self::B::S*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.legacy.expect
deleted file mode 100644
index 3e9ea11..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-static field dynamic a = <(dynamic) →* dynamic, (dynamic) →* dynamic>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.legacy.transformed.expect
deleted file mode 100644
index 3e9ea11..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-static field dynamic a = <(dynamic) →* dynamic, (dynamic) →* dynamic>{};
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.legacy.expect
deleted file mode 100644
index 4bca658..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo() → (dynamic) →* dynamic
-    return null;
-}
-static field (dynamic) →* dynamic a;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 4bca658..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo() → (dynamic) →* dynamic
-    return null;
-}
-static field (dynamic) →* dynamic a;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.legacy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.legacy.expect
deleted file mode 100644
index 14ae8a8..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B<T extends (dynamic) →* dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.legacy.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.legacy.transformed.expect
deleted file mode 100644
index 14ae8a8..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<T extends core::num* = dynamic> = (T*) →* dynamic;
-class B<T extends (dynamic) →* dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/legacy.status b/pkg/front_end/testcases/legacy.status
deleted file mode 100644
index e137a5e..0000000
--- a/pkg/front_end/testcases/legacy.status
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
-# for details. All rights reserved. Use of this source code is governed by a
-# BSD-style license that can be found in the LICENSE.md file.
-
-# Status file for the legacy_test.dart test suite. This is testing generating
-# Kernel ASTs in legacy mode (Dart 1.0).
-
-extensions/static_access: RuntimeError
-general/DeltaBlue: Fail # Fasta and dartk disagree on static initializers
-general/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
-general/await_in_non_async: RuntimeError # Expected.
-general/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
-general/bug37476: RuntimeError # Expected.
-general/call: Fail # Test can't run.
-general/constructor_const_inference: RuntimeError # Test exercises strong mode semantics.  See also Issue #33813.
-general/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
-general/control_flow_collection: RuntimeError
-general/duplicated_field_initializer: RuntimeError
-general/extension_methods: RuntimeError
-general/external_import: RuntimeError # Expected -- test uses import which doesn't exist.
-general/fallthrough: Fail # Missing FallThroughError.
-general/function_type_recovery: Fail
-general/incomplete_field_formal_parameter: Fail # Fasta doesn't recover well
-general/invocations: Fail
-general/issue37776: RuntimeError
-general/micro: Fail # External method marked abstract.
-general/minimum_int: Crash # Min int literal not supported in non-strong mode.
-general/mixin_constructors_with_default_values: RuntimeError # Expected
-general/named_parameters: Fail # Missing types and unnecessary default values.
-general/non_covariant_checks: RuntimeError # Expected
-general/operator_method_not_found: RuntimeError # Expected
-general/optional: Fail # Unnecessary default values.
-general/redirecting_factory: Fail # Missing types on constructor parameters.
-general/redirecting_factory_chain_test: Fail # Missing support for RedirectingFactoryConstructor.
-general/redirecting_factory_const_inference: RuntimeError # Test exercises strong mode semantics.  See also Issue #33813.
-general/redirecting_factory_simple_test: Fail # Missing support for RedirectingFactoryConstructor.
-general/redirecting_factory_typeargs_test: Fail # Missing support for RedirectingFactoryConstructor.
-general/redirecting_factory_typeparam_test: Fail # Missing support for RedirectingFactoryConstructor.
-general/redirecting_factory_typeparambounds_test: Fail # Missing support for RedirectingFactoryConstructor.
-general/reject_generic_function_types_in_bounds: RuntimeError # Expected
-general/spread_collection: RuntimeError
-general/type_parameter_type_named_int: RuntimeError # Expected
-general/type_variable_as_super: Fail
-general/uninitialized_fields: Fail # Fasta and dartk disagree on static initializers
-general/void_methods: Fail # Bad return from setters.
-inference/bug31436: RuntimeError # Test exercises Dart 2.0 semantics
-inference/constructors_too_many_positional_arguments: Fail
-inference/downwards_inference_annotations_locals: Fail # Issue #30031
-inference/downwards_inference_for_each: RuntimeError # Issue #36382
-inference/future_then_explicit_future: RuntimeError
-inference/generic_methods_infer_js_builtin: RuntimeError # Test attempts to access platform-private library leading to NSM.
-inference/infer_assign_to_index: Fail
-inference/infer_assign_to_property: Fail
-inference/infer_assign_to_property_custom: Fail
-inference/infer_type_cast: Fail
-inference/infer_typed_list_literal: Fail
-inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2: RuntimeError
-instantiate_to_bound/body_typedef_super_bounded_type: Fail # Issue 33444
-instantiate_to_bound/non_simple_class_parametrized_typedef_cycle: RuntimeError # May be related to Issue 33479
-instantiate_to_bound/non_simple_generic_function_in_bound_regress: RuntimeError # Expected
-instantiate_to_bound/typedef_super_bounded_type: Fail # Issue 33444
-nnbd/nullable_param: RuntimeError
-rasta/abstract_constructor: Fail
-rasta/bad_constructor_redirection: Fail
-rasta/bad_continue: Fail
-rasta/bad_default_constructor: Fail # Compile-time error destroys program.
-rasta/bad_explicit_super_constructor: RuntimeError
-rasta/bad_implicit_super_constructor: RuntimeError
-rasta/bad_interpolation: RuntimeError
-rasta/bad_redirection: Fail
-rasta/bad_setter_initializer: RuntimeError
-rasta/bad_unicode: Fail
-rasta/breaking_bad: Fail
-rasta/class_hierarchy: Fail
-rasta/class_member: Fail
-rasta/constant_get_and_invoke: RuntimeError
-rasta/deferred_lib: Fail
-rasta/deferred_load: Fail
-rasta/duplicated_mixin: RuntimeError # Expected, this file has no main method.
-rasta/export: RuntimeError # Expected, this file has no main method.
-rasta/external_factory_redirection: Fail
-rasta/foo: RuntimeError # Expected, this file has no main method.
-rasta/for_loop: Fail
-rasta/generic_factory: Fail
-rasta/issue_000001: Fail
-rasta/issue_000031: Fail
-rasta/issue_000032: Fail
-rasta/issue_000034: RuntimeError
-rasta/issue_000036: Fail
-rasta/issue_000039: Fail
-rasta/issue_000041: RuntimeError
-rasta/issue_000042: Fail
-rasta/issue_000043: Fail
-rasta/issue_000044: Fail
-rasta/issue_000046: RuntimeError
-rasta/issue_000047: Fail
-rasta/issue_000081: Fail
-rasta/malformed_const_constructor: Fail
-rasta/malformed_function: Fail
-rasta/mandatory_parameter_initializer: Fail
-rasta/mixin_library: Fail
-rasta/native_is_illegal: Fail
-rasta/parser_error: Fail
-rasta/super: RuntimeError
-rasta/super_initializer: Fail
-rasta/super_operator: Fail
-rasta/try_label: Fail
-rasta/type_literals: Crash
-rasta/type_literals: Fail
-rasta/type_with_parse_error: Fail
-rasta/typedef: Crash
-rasta/typedef: Fail
-rasta/unresolved: Fail
-rasta/unresolved_constructor: Fail
-rasta/unresolved_for_in: RuntimeError # Test contains a compile-time error, signaled at run time in the JIT VM
-rasta/unresolved_recovery: Fail
-regress/issue_29975: Fail # Issue 29975.
-regress/issue_29976: RuntimeError # Tests runtime behavior of error recovery.
-regress/issue_29982: RuntimeError # Tests runtime behavior of error recovery.
-regress/issue_30836: RuntimeError # Issue 30836.
-regress/issue_32200: Pass # Invalid type mapped to dynamic type in kernel translation helper.
-regress/issue_32972: RuntimeError
-regress/issue_33452: RuntimeError # Test has an intentional error
-regress/issue_34225: RuntimeError
-regress/issue_34563: RuntimeError # Test execution after recovery
-regress/issue_35177: RuntimeError
-regress/issue_35258: RuntimeError # Expected
-regress/issue_35259: RuntimeError # Expected
-regress/issue_35260: RuntimeError # Expected
-regress/issue_35266: RuntimeError # Expected
-regress/issue_36400: RuntimeError
-regress/issue_36647: RuntimeError # Expected
-regress/issue_36647_2: RuntimeError # Expected
-regress/issue_36669: RuntimeError
-regress/issue_37285: RuntimeError
-runtime_checks/implicit_downcast_constructor_initializer: RuntimeError # Test exercises strong mode semantics
-runtime_checks/implicit_downcast_do: RuntimeError # Test exercises strong mode semantics
-runtime_checks/implicit_downcast_for_condition: RuntimeError # Test exercises strong mode semantics
-runtime_checks/implicit_downcast_if: RuntimeError # Test exercises strong mode semantics
-runtime_checks/implicit_downcast_not: RuntimeError # Test exercises strong mode semantics
-runtime_checks/implicit_downcast_while: RuntimeError # Test exercises strong mode semantics
-runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError # Test exercises strong mode semantics
-runtime_checks_new/implicit_downcast_field: RuntimeError # Test exercises strong mode semantics
-runtime_checks_new/mixin_forwarding_stub_field: RuntimeError # Test exercises strong mode semantics
-runtime_checks_new/mixin_forwarding_stub_getter: RuntimeError # Test exercises strong mode semantics
-runtime_checks_new/mixin_forwarding_stub_setter: RuntimeError # Test exercises strong mode semantics
-runtime_checks_new/stub_checked_via_target: RuntimeError # Test exercises strong mode semantics
-set_literals/disambiguation_rule: RuntimeError
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.legacy.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.legacy.expect
deleted file mode 100644
index f644734..0000000
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x;
-  const constructor •(core::int* x) → self::A*
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::int* foo = 42;
-  new self::A::•(5);
-  new self::A::•(5.+(5));
-  new self::A::•(foo);
-  new self::A::•(5.+(foo));
-}
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.legacy.transformed.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.legacy.transformed.expect
deleted file mode 100644
index f644734..0000000
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x;
-  const constructor •(core::int* x) → self::A*
-    : self::A::x = x, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::int* foo = 42;
-  new self::A::•(5);
-  new self::A::•(5.+(5));
-  new self::A::•(foo);
-  new self::A::•(5.+(foo));
-}
diff --git a/pkg/front_end/testcases/nnbd/late.dart.legacy.expect b/pkg/front_end/testcases/nnbd/late.dart.legacy.expect
deleted file mode 100644
index ce1db3e..0000000
--- a/pkg/front_end/testcases/nnbd/late.dart.legacy.expect
+++ /dev/null
@@ -1,194 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:6: Error: Expected ';' after this.
-// late int lateStaticField;
-//      ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-// late int lateStaticField;
-//          ^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-// late final int finalLateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:1: Error: Expected ';' after this.
-// late final int finalLateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:16: Error: The final variable 'finalLateStaticField' must be initialized.
-// Try adding an initializer ('= <expression>') to the declaration.
-// late final int finalLateStaticField;
-//                ^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:8: Error: Expected ';' after this.
-//   late int lateInstanceField;
-//        ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:12: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   late int lateInstanceField;
-//            ^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:3: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   late final int finalLateInstanceField = 0;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:3: Error: Expected ';' after this.
-//   late final int finalLateInstanceField = 0;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:15: Error: Expected ';' after this.
-//   static late int lateStaticField;
-//               ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:15: Error: 'int' is already declared in this scope.
-//   static late int lateStaticField;
-//               ^^^
-// pkg/front_end/testcases/nnbd/late.dart:9:8: Context: Previous declaration of 'int'.
-//   late int lateInstanceField;
-//        ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:19: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static late int lateStaticField;
-//                   ^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static late final int finalLateStaticField = 0;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:10: Error: Expected ';' after this.
-//   static late final int finalLateStaticField = 0;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:10: Error: 'late' is already declared in this scope.
-//   static late final int finalLateStaticField = 0;
-//          ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:10:3: Context: Previous declaration of 'late'.
-//   late final int finalLateInstanceField = 0;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:3: Warning: 'late' isn't a type.
-//   late int lateInstanceField;
-//   ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:9:3: Context: This isn't a type.
-//   late int lateInstanceField;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:14: Warning: 'int' isn't a type.
-//   late final int finalLateInstanceField = 0;
-//              ^^^
-// pkg/front_end/testcases/nnbd/late.dart:10:14: Context: This isn't a type.
-//   late final int finalLateInstanceField = 0;
-//              ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:10: Warning: 'late' isn't a type.
-//   static late int lateStaticField;
-//          ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:12:10: Context: This isn't a type.
-//   static late int lateStaticField;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:21: Warning: 'int' isn't a type.
-//   static late final int finalLateStaticField = 0;
-//                     ^^^
-// pkg/front_end/testcases/nnbd/late.dart:13:21: Context: This isn't a type.
-//   static late final int finalLateStaticField = 0;
-//                     ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:1: Warning: 'late' isn't a type.
-// late int lateStaticField;
-// ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:6:1: Context: This isn't a type.
-// late final int finalLateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:12: Warning: 'int' isn't a type.
-// late final int finalLateStaticField;
-//            ^^^
-// pkg/front_end/testcases/nnbd/late.dart:5:6: Context: This isn't a type.
-// late int lateStaticField;
-//      ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:1: Warning: 'late' isn't a type.
-// late int lateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:12: Warning: 'int' isn't a type.
-// late final int finalLateStaticField;
-//            ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:3: Error: Can't use 'late' because it is declared more than once.
-//   late int lateInstanceField;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:14: Error: Can't use 'int' because it is declared more than once.
-//   late final int finalLateInstanceField = 0;
-//              ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:10: Error: Can't use 'late' because it is declared more than once.
-//   static late int lateStaticField;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:21: Error: Can't use 'int' because it is declared more than once.
-//   static late final int finalLateStaticField = 0;
-//                     ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:16:5: Error: Can't use 'late' because it is declared more than once.
-//     late int lateVariable;
-//     ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:16:10: Error: Expected ';' after this.
-//     late int lateVariable;
-//          ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:16:14: Warning: Getter not found: 'lateVariable'.
-//     late int lateVariable;
-//              ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:17:5: Error: Expected ';' after this.
-//     late final int lateFinalVariable = 0;
-//     ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:17:5: Error: Can't use 'late' because it is declared more than once.
-//     late final int lateFinalVariable = 0;
-//     ^
-//
-// pkg/front_end/testcases/nnbd/late.dart:17:16: Warning: 'int' isn't a type.
-//     late final int lateFinalVariable = 0;
-//                ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field invalid-type int = null;
-  field dynamic lateInstanceField = null;
-  field dynamic late = null;
-  final field invalid-type finalLateInstanceField = 0;
-  field dynamic lateStaticField = null;
-  final field invalid-type finalLateStaticField = 0;
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  method method() → dynamic {
-    invalid-type int;
-    this.lateVariable;
-    invalid-expression "pkg/front_end/testcases/nnbd/late.dart:17:5: Error: Can't use 'late' because it is declared more than once.
-    late final int lateFinalVariable = 0;
-    ^";
-    final invalid-type lateFinalVariable = 0;
-  }
-}
-static field invalid-type int;
-static field dynamic lateStaticField;
-static field dynamic late;
-static final field invalid-type finalLateStaticField;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/late.dart.legacy.transformed.expect b/pkg/front_end/testcases/nnbd/late.dart.legacy.transformed.expect
deleted file mode 100644
index ce1db3e..0000000
--- a/pkg/front_end/testcases/nnbd/late.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,194 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:6: Error: Expected ';' after this.
-// late int lateStaticField;
-//      ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-// late int lateStaticField;
-//          ^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:1: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-// late final int finalLateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:1: Error: Expected ';' after this.
-// late final int finalLateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:16: Error: The final variable 'finalLateStaticField' must be initialized.
-// Try adding an initializer ('= <expression>') to the declaration.
-// late final int finalLateStaticField;
-//                ^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:8: Error: Expected ';' after this.
-//   late int lateInstanceField;
-//        ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:12: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   late int lateInstanceField;
-//            ^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:3: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   late final int finalLateInstanceField = 0;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:3: Error: Expected ';' after this.
-//   late final int finalLateInstanceField = 0;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:15: Error: Expected ';' after this.
-//   static late int lateStaticField;
-//               ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:15: Error: 'int' is already declared in this scope.
-//   static late int lateStaticField;
-//               ^^^
-// pkg/front_end/testcases/nnbd/late.dart:9:8: Context: Previous declaration of 'int'.
-//   late int lateInstanceField;
-//        ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:19: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static late int lateStaticField;
-//                   ^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:10: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//   static late final int finalLateStaticField = 0;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:10: Error: Expected ';' after this.
-//   static late final int finalLateStaticField = 0;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:10: Error: 'late' is already declared in this scope.
-//   static late final int finalLateStaticField = 0;
-//          ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:10:3: Context: Previous declaration of 'late'.
-//   late final int finalLateInstanceField = 0;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:3: Warning: 'late' isn't a type.
-//   late int lateInstanceField;
-//   ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:9:3: Context: This isn't a type.
-//   late int lateInstanceField;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:14: Warning: 'int' isn't a type.
-//   late final int finalLateInstanceField = 0;
-//              ^^^
-// pkg/front_end/testcases/nnbd/late.dart:10:14: Context: This isn't a type.
-//   late final int finalLateInstanceField = 0;
-//              ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:10: Warning: 'late' isn't a type.
-//   static late int lateStaticField;
-//          ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:12:10: Context: This isn't a type.
-//   static late int lateStaticField;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:21: Warning: 'int' isn't a type.
-//   static late final int finalLateStaticField = 0;
-//                     ^^^
-// pkg/front_end/testcases/nnbd/late.dart:13:21: Context: This isn't a type.
-//   static late final int finalLateStaticField = 0;
-//                     ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:1: Warning: 'late' isn't a type.
-// late int lateStaticField;
-// ^^^^
-// pkg/front_end/testcases/nnbd/late.dart:6:1: Context: This isn't a type.
-// late final int finalLateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:12: Warning: 'int' isn't a type.
-// late final int finalLateStaticField;
-//            ^^^
-// pkg/front_end/testcases/nnbd/late.dart:5:6: Context: This isn't a type.
-// late int lateStaticField;
-//      ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:5:1: Warning: 'late' isn't a type.
-// late int lateStaticField;
-// ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:6:12: Warning: 'int' isn't a type.
-// late final int finalLateStaticField;
-//            ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:9:3: Error: Can't use 'late' because it is declared more than once.
-//   late int lateInstanceField;
-//   ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:10:14: Error: Can't use 'int' because it is declared more than once.
-//   late final int finalLateInstanceField = 0;
-//              ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:12:10: Error: Can't use 'late' because it is declared more than once.
-//   static late int lateStaticField;
-//          ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:13:21: Error: Can't use 'int' because it is declared more than once.
-//   static late final int finalLateStaticField = 0;
-//                     ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:16:5: Error: Can't use 'late' because it is declared more than once.
-//     late int lateVariable;
-//     ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:16:10: Error: Expected ';' after this.
-//     late int lateVariable;
-//          ^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:16:14: Warning: Getter not found: 'lateVariable'.
-//     late int lateVariable;
-//              ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:17:5: Error: Expected ';' after this.
-//     late final int lateFinalVariable = 0;
-//     ^^^^
-//
-// pkg/front_end/testcases/nnbd/late.dart:17:5: Error: Can't use 'late' because it is declared more than once.
-//     late final int lateFinalVariable = 0;
-//     ^
-//
-// pkg/front_end/testcases/nnbd/late.dart:17:16: Warning: 'int' isn't a type.
-//     late final int lateFinalVariable = 0;
-//                ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field invalid-type int = null;
-  field dynamic lateInstanceField = null;
-  field dynamic late = null;
-  final field invalid-type finalLateInstanceField = 0;
-  field dynamic lateStaticField = null;
-  final field invalid-type finalLateStaticField = 0;
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  method method() → dynamic {
-    invalid-type int;
-    this.lateVariable;
-    invalid-expression "pkg/front_end/testcases/nnbd/late.dart:17:5: Error: Can't use 'late' because it is declared more than once.
-    late final int lateFinalVariable = 0;
-    ^";
-    final invalid-type lateFinalVariable = 0;
-  }
-}
-static field invalid-type int;
-static field dynamic lateStaticField;
-static field dynamic late;
-static final field invalid-type finalLateStaticField;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.legacy.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.legacy.expect
deleted file mode 100644
index 23f6081..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:5:6: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-//   int? field;
-//      ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:6:6: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-//   int? bar(int? x);
-//      ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:6:15: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-//   int? bar(int? x);
-//               ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:17:54: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// int test_nullable_function_type_formal_param({int f()? : null}) {
-//                                                      ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:4:7: Error: The non-abstract class 'Foo' is missing implementations for these members:
-//  - Foo.bar
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class Foo {
-//       ^^^
-// pkg/front_end/testcases/nnbd/nullable_param.dart:6:8: Context: 'Foo.bar' is defined here.
-//   int? bar(int? x);
-//        ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* field = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract method bar(core::int* x) → core::int*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  foo.field = 5;
-  foo.bar(6);
-  self::test_nullable_function_type_formal_param(f: () → dynamic => 2);
-}
-static method test_nullable_function_type_formal_param({() →* core::int* f = #C1}) → core::int* {
-  return let final dynamic #t1 = f.call() in #t1.==(null) ? 1.unary-() : #t1;
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.legacy.transformed.expect
deleted file mode 100644
index 23f6081..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:5:6: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-//   int? field;
-//      ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:6:6: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-//   int? bar(int? x);
-//      ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:6:15: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-//   int? bar(int? x);
-//               ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:17:54: Error: This requires the 'non-nullable' experiment to be enabled.
-// Try enabling this experiment by adding it to the command line when compiling and running.
-// int test_nullable_function_type_formal_param({int f()? : null}) {
-//                                                      ^
-//
-// pkg/front_end/testcases/nnbd/nullable_param.dart:4:7: Error: The non-abstract class 'Foo' is missing implementations for these members:
-//  - Foo.bar
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class Foo {
-//       ^^^
-// pkg/front_end/testcases/nnbd/nullable_param.dart:6:8: Context: 'Foo.bar' is defined here.
-//   int? bar(int? x);
-//        ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* field = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract method bar(core::int* x) → core::int*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  foo.field = 5;
-  foo.bar(6);
-  self::test_nullable_function_type_formal_param(f: () → dynamic => 2);
-}
-static method test_nullable_function_type_formal_param({() →* core::int* f = #C1}) → core::int* {
-  return let final dynamic #t1 = f.call() in #t1.==(null) ? 1.unary-() : #t1;
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd/required.dart.legacy.expect b/pkg/front_end/testcases/nnbd/required.dart.legacy.expect
deleted file mode 100644
index 06bd55a..0000000
--- a/pkg/front_end/testcases/nnbd/required.dart.legacy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/required.dart:5:29: Error: Expected '}' before this.
-// method({int a, required int b, required final int c}) {}
-//                             ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:8:31: Error: Expected '}' before this.
-//   method({int a, required int b, required final int c, required covariant final int d}) {}
-//                               ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:12:50: Error: Expected '}' before this.
-// typedef Typedef1 = Function({int a, required int b});
-//                                                  ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:14:39: Error: Expected '}' before this.
-// typedef Typedef2({int a, required int b});
-//                                       ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:16:31: Error: Expected '}' before this.
-// Function({int a, required int b}) field;
-//                               ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:5:16: Warning: Type 'required' not found.
-// method({int a, required int b, required final int c}) {}
-//                ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:8:18: Warning: Type 'required' not found.
-//   method({int a, required int b, required final int c, required covariant final int d}) {}
-//                  ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:12:37: Warning: Type 'required' not found.
-// typedef Typedef1 = Function({int a, required int b});
-//                                     ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:14:26: Warning: Type 'required' not found.
-// typedef Typedef2({int a, required int b});
-//                          ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:16:18: Warning: Type 'required' not found.
-// Function({int a, required int b}) field;
-//                  ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:5:16: Warning: 'required' isn't a type.
-// method({int a, required int b, required final int c}) {}
-//                ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:8:18: Warning: 'required' isn't a type.
-//   method({int a, required int b, required final int c, required covariant final int d}) {}
-//                  ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:16:18: Warning: 'required' isn't a type.
-// Function({int a, required int b}) field;
-//                  ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Typedef1 = ({a: core::int*, int: invalid-type}) →* dynamic;
-typedef Typedef2 = ({a: core::int*, int: invalid-type}) →* dynamic;
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  method method({core::int* a = #C1, invalid-type int = #C1}) → dynamic {}
-}
-static field ({a: core::int*, int: invalid-type}) →* dynamic field;
-static method method({core::int* a = #C1, invalid-type int = #C1}) → dynamic {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd/required.dart.legacy.transformed.expect b/pkg/front_end/testcases/nnbd/required.dart.legacy.transformed.expect
deleted file mode 100644
index 06bd55a..0000000
--- a/pkg/front_end/testcases/nnbd/required.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/required.dart:5:29: Error: Expected '}' before this.
-// method({int a, required int b, required final int c}) {}
-//                             ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:8:31: Error: Expected '}' before this.
-//   method({int a, required int b, required final int c, required covariant final int d}) {}
-//                               ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:12:50: Error: Expected '}' before this.
-// typedef Typedef1 = Function({int a, required int b});
-//                                                  ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:14:39: Error: Expected '}' before this.
-// typedef Typedef2({int a, required int b});
-//                                       ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:16:31: Error: Expected '}' before this.
-// Function({int a, required int b}) field;
-//                               ^
-//
-// pkg/front_end/testcases/nnbd/required.dart:5:16: Warning: Type 'required' not found.
-// method({int a, required int b, required final int c}) {}
-//                ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:8:18: Warning: Type 'required' not found.
-//   method({int a, required int b, required final int c, required covariant final int d}) {}
-//                  ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:12:37: Warning: Type 'required' not found.
-// typedef Typedef1 = Function({int a, required int b});
-//                                     ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:14:26: Warning: Type 'required' not found.
-// typedef Typedef2({int a, required int b});
-//                          ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:16:18: Warning: Type 'required' not found.
-// Function({int a, required int b}) field;
-//                  ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:5:16: Warning: 'required' isn't a type.
-// method({int a, required int b, required final int c}) {}
-//                ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:8:18: Warning: 'required' isn't a type.
-//   method({int a, required int b, required final int c, required covariant final int d}) {}
-//                  ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/required.dart:16:18: Warning: 'required' isn't a type.
-// Function({int a, required int b}) field;
-//                  ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Typedef1 = ({a: core::int*, int: invalid-type}) →* dynamic;
-typedef Typedef2 = ({a: core::int*, int: invalid-type}) →* dynamic;
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  method method({core::int* a = #C1, invalid-type int = #C1}) → dynamic {}
-}
-static field ({a: core::int*, int: invalid-type}) →* dynamic field;
-static method method({core::int* a = #C1, invalid-type int = #C1}) → dynamic {}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd/test.options b/pkg/front_end/testcases/nnbd/test.options
new file mode 100644
index 0000000..b552a65
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/test.options
@@ -0,0 +1 @@
+--enable-experiment=non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect
deleted file mode 100644
index a75eef1..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object implements self::I {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return "bar";
-  no-such-method-forwarder get foo() → core::int*
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-  no-such-method-forwarder set foo(core::int* value) → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method expectTypeError(() →* dynamic callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  self::expectTypeError(() → dynamic => a.foo);
-  self::expectTypeError(() → dynamic => (a as dynamic).foo = "bar");
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo=
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect
deleted file mode 100644
index a75eef1..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object implements self::I {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return "bar";
-  no-such-method-forwarder get foo() → core::int*
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-  no-such-method-forwarder set foo(core::int* value) → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method expectTypeError(() →* dynamic callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  self::expectTypeError(() → dynamic => a.foo);
-  self::expectTypeError(() → dynamic => (a as dynamic).foo = "bar");
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo=
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
deleted file mode 100644
index 209d2fd..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    self::count = self::count.+(1);
-    return null;
-  }
-  no-such-method-forwarder get foo() → core::int*
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-  no-such-method-forwarder set foo(core::int* value) → void
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class _C&Object&B = core::Object with self::B {
-  const synthetic constructor •() → self::_C&Object&B*
-    : super core::Object::•()
-    ;
-}
-class C extends self::_C&Object&B {
-  synthetic constructor •() → self::C*
-    : super self::_C&Object&B::•()
-    ;
-  get foo() → core::int*
-    return 42;
-  set foo(core::int* value) → void {}
-}
-static field core::int* count = 0;
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  if(!c.foo.==(42)) {
-    throw "Value mismatch: c.foo != 42.";
-  }
-  c.foo = 43;
-  if(!self::count.==(0)) {
-    throw "Value mismatch: count != 0";
-  }
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo=
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
deleted file mode 100644
index 8d92b84..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    self::count = self::count.+(1);
-    return null;
-  }
-  no-such-method-forwarder get foo() → core::int*
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-  no-such-method-forwarder set foo(core::int* value) → void
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class _C&Object&B extends core::Object implements self::B {
-  const synthetic constructor •() → self::_C&Object&B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    self::count = self::count.+(1);
-    return null;
-  }
-}
-class C extends self::_C&Object&B {
-  synthetic constructor •() → self::C*
-    : super self::_C&Object&B::•()
-    ;
-  get foo() → core::int*
-    return 42;
-  set foo(core::int* value) → void {}
-}
-static field core::int* count = 0;
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  if(!c.foo.==(42)) {
-    throw "Value mismatch: c.foo != 42.";
-  }
-  c.foo = 43;
-  if(!self::count.==(0)) {
-    throw "Value mismatch: count != 0";
-  }
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo=
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect
deleted file mode 100644
index a325a2e..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get foo() → core::int*
-    return 42;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return "bar";
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  no-such-method-forwarder set foo(core::int* value) → void
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class D extends core::Object implements self::A {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  set foo(core::int* value) → void {}
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return "bar";
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  no-such-method-forwarder get foo() → core::int*
-    return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-}
-static method expectTypeError(() →* dynamic callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  self::expectTypeError(() → dynamic => (c as dynamic).foo = "bar");
-  dynamic e = new self::E::•();
-  self::expectTypeError(() → dynamic => e.foo);
-}
-
-constants  {
-  #C1 = #foo=
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect
deleted file mode 100644
index a325a2e..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int* foo = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-abstract class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get foo() → core::int*
-    return 42;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return "bar";
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  no-such-method-forwarder set foo(core::int* value) → void
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class D extends core::Object implements self::A {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  set foo(core::int* value) → void {}
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return "bar";
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  no-such-method-forwarder get foo() → core::int*
-    return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-}
-static method expectTypeError(() →* dynamic callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  self::expectTypeError(() → dynamic => (c as dynamic).foo = "bar");
-  dynamic e = new self::E::•();
-  self::expectTypeError(() → dynamic => e.foo);
-}
-
-constants  {
-  #C1 = #foo=
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect
deleted file mode 100644
index 1c21e69..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<X extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field core::List<self::A::X*>* foo = null;
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A<core::int*> {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return <dynamic>[];
-  no-such-method-forwarder get foo() → core::List<core::int*>*
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::List<core::int*>*;
-  no-such-method-forwarder set foo(core::List<core::int*>* value) → void
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method expectTypeError(() →* dynamic callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  dynamic b = new self::B::•();
-  self::expectTypeError(() → dynamic => b.foo);
-  self::expectTypeError(() → dynamic => (b as dynamic).foo = <dynamic>[]);
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo=
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index 1c21e69..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A<X extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field core::List<self::A::X*>* foo = null;
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object implements self::A<core::int*> {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return <dynamic>[];
-  no-such-method-forwarder get foo() → core::List<core::int*>*
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::List<core::int*>*;
-  no-such-method-forwarder set foo(core::List<core::int*>* value) → void
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method expectTypeError(() →* dynamic callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
-static method main() → dynamic {
-  dynamic b = new self::B::•();
-  self::expectTypeError(() → dynamic => b.foo);
-  self::expectTypeError(() → dynamic => (b as dynamic).foo = <dynamic>[]);
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #foo=
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.legacy.expect
deleted file mode 100644
index 72551ea..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.legacy.transformed.expect
deleted file mode 100644
index 72551ea..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
deleted file mode 100644
index 80a80e1..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method foo() → dynamic;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class B extends core::Object implements self::I {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → dynamic
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-}
-abstract class _C&A&B = self::A with self::B {
-  synthetic constructor •() → self::_C&A&B*
-    : super self::A::•()
-    ;
-}
-class C extends self::_C&A&B {
-  synthetic constructor •() → self::C*
-    : super self::_C&A&B::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
deleted file mode 100644
index 29e5abb..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method foo() → dynamic;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-}
-class B extends core::Object implements self::I {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → dynamic
-    return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} dynamic;
-}
-abstract class _C&A&B extends self::A implements self::B {
-  synthetic constructor •() → self::_C&A&B*
-    : super self::A::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return null;
-}
-class C extends self::_C&A&B {
-  synthetic constructor •() → self::C*
-    : super self::_C&A&B::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.legacy.expect
deleted file mode 100644
index 6313c0d..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    if(i.memberName.==(#C1)) {
-      return i.namedArguments.[](#C2);
-    }
-    else
-      if(i.memberName.==(#C3)) {
-        return i.positionalArguments.[](0);
-      }
-    return null;
-  }
-  abstract method foo({core::String* bar = #C4}) → core::String*;
-  abstract method hest([core::int* fisk = #C5]) → core::int*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo({core::String* bar = #C4}) → core::String*
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))) as{TypeError} core::String*;
-  no-such-method-forwarder method hest([core::int* fisk = #C5]) → core::int*
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(<dynamic>[fisk]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))) as{TypeError} core::int*;
-}
-static method main() → dynamic {
-  self::B* b = new self::B::•();
-  dynamic value;
-  if(!(value = b.foo()).==("baz")) {
-    throw "Unexpected value: '${value}'; expected 'baz'.";
-  }
-  if(!(value = b.hest()).==(42)) {
-    throw "Unexpected value: '${value}'; expected '42'.";
-  }
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = #bar
-  #C3 = #hest
-  #C4 = "baz"
-  #C5 = 42
-  #C6 = <core::Type*>[]
-  #C7 = <dynamic>[]
-  #C8 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C7}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.legacy.transformed.expect
deleted file mode 100644
index 6313c0d..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    if(i.memberName.==(#C1)) {
-      return i.namedArguments.[](#C2);
-    }
-    else
-      if(i.memberName.==(#C3)) {
-        return i.positionalArguments.[](0);
-      }
-    return null;
-  }
-  abstract method foo({core::String* bar = #C4}) → core::String*;
-  abstract method hest([core::int* fisk = #C5]) → core::int*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo({core::String* bar = #C4}) → core::String*
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))) as{TypeError} core::String*;
-  no-such-method-forwarder method hest([core::int* fisk = #C5]) → core::int*
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(<dynamic>[fisk]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))) as{TypeError} core::int*;
-}
-static method main() → dynamic {
-  self::B* b = new self::B::•();
-  dynamic value;
-  if(!(value = b.foo()).==("baz")) {
-    throw "Unexpected value: '${value}'; expected 'baz'.";
-  }
-  if(!(value = b.hest()).==(42)) {
-    throw "Unexpected value: '${value}'; expected '42'.";
-  }
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = #bar
-  #C3 = #hest
-  #C4 = "baz"
-  #C5 = 42
-  #C6 = <core::Type*>[]
-  #C7 = <dynamic>[]
-  #C8 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C7}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.legacy.expect
deleted file mode 100644
index 62cd5e1a..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I1 extends core::Object {
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-abstract class I2 extends core::Object {
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-class M extends core::Object implements self::I1, self::I2 {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.legacy.transformed.expect
deleted file mode 100644
index 62cd5e1a..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I1 extends core::Object {
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-abstract class I2 extends core::Object {
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-class M extends core::Object implements self::I1, self::I2 {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect
deleted file mode 100644
index 238f1ad..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-class A extends core::Object implements self::I {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class _B&Object&A = core::Object with self::A {
-  const synthetic constructor •() → self::_B&Object&A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::_B&Object&A {
-  synthetic constructor •() → self::B*
-    : super self::_B&Object&A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect
deleted file mode 100644
index c985876..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method foo() → void;
-}
-class A extends core::Object implements self::I {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class _B&Object&A extends core::Object implements self::A {
-  const synthetic constructor •() → self::_B&Object&A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-class B extends self::_B&Object&A {
-  synthetic constructor •() → self::B*
-    : super self::_B&Object&A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.legacy.expect
deleted file mode 100644
index 0cbcb2c..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method foo() → void {}
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.legacy.transformed.expect
deleted file mode 100644
index 0cbcb2c..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method foo() → void {}
-}
-class B extends self::A implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect
deleted file mode 100644
index 489451d..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → void
-    return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-abstract class _A&Object&M = core::Object with self::M {
-  const synthetic constructor •() → self::_A&Object&M*
-    : super core::Object::•()
-    ;
-}
-class A extends self::_A&Object&M implements self::I {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class _B&Object&M = core::Object with self::M {
-  const synthetic constructor •() → self::_B&Object&M*
-    : super core::Object::•()
-    ;
-}
-class B extends self::_B&Object&M implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::_B&Object&M::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect
deleted file mode 100644
index 3d08a75..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  no-such-method-forwarder method foo() → void
-    return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-abstract class _A&Object&M extends core::Object implements self::M {
-  const synthetic constructor •() → self::_A&Object&M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-class A extends self::_A&Object&M implements self::I {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-abstract class _B&Object&M extends core::Object implements self::M {
-  const synthetic constructor •() → self::_B&Object&M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-class B extends self::_B&Object&M implements self::I {
-  synthetic constructor •() → self::B*
-    : super self::_B&Object&M::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect
deleted file mode 100644
index f979826..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  abstract method foo() → void;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect
deleted file mode 100644
index f979826..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  abstract method foo() → void;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect
deleted file mode 100644
index 88de606..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  abstract method foo() → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect
deleted file mode 100644
index 88de606..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-  abstract method foo() → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.legacy.expect
deleted file mode 100644
index 87ea103..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-}
-class A extends self::M {
-  synthetic constructor •() → self::A*
-    : super self::M::•()
-    ;
-  no-such-method-forwarder method call(core::String* s) → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[s]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #call
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.legacy.transformed.expect
deleted file mode 100644
index 87ea103..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-}
-class A extends self::M {
-  synthetic constructor •() → self::A*
-    : super self::M::•()
-    ;
-  no-such-method-forwarder method call(core::String* s) → void
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[s]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #call
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect
deleted file mode 100644
index b7294d2..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-abstract class _B&Object&A = core::Object with self::A {
-  const synthetic constructor •() → self::_B&Object&A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::_B&Object&A {
-  synthetic constructor •() → self::B*
-    : super self::_B&Object&A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect
deleted file mode 100644
index 5da9029..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-abstract class _B&Object&A extends core::Object implements self::A {
-  const synthetic constructor •() → self::_B&Object&A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-class B extends self::_B&Object&A {
-  synthetic constructor •() → self::B*
-    : super self::_B&Object&A::•()
-    ;
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.legacy.expect
deleted file mode 100644
index b06986b..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library private;
-import self as self;
-import "dart:core" as core;
-import "private_module.dart" as pri;
-
-import "org-dartlang-testcase:///private_module.dart";
-
-abstract class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return 42;
-}
-class Bar extends self::Foo implements pri::Fisk {
-  synthetic constructor •() → self::Bar*
-    : super self::Foo::•()
-    ;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class Baz extends self::Foo implements pri::Fisk {
-  synthetic constructor •() → self::Baz*
-    : super self::Foo::•()
-    ;
-  method _hest() → dynamic
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-library private_module;
-import self as pri;
-import "dart:core" as core;
-
-abstract class Fisk extends core::Object {
-  synthetic constructor •() → pri::Fisk*
-    : super core::Object::•()
-    ;
-  abstract method _hest() → void;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///private.dart::_hest
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.legacy.transformed.expect
deleted file mode 100644
index b06986b..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library private;
-import self as self;
-import "dart:core" as core;
-import "private_module.dart" as pri;
-
-import "org-dartlang-testcase:///private_module.dart";
-
-abstract class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return 42;
-}
-class Bar extends self::Foo implements pri::Fisk {
-  synthetic constructor •() → self::Bar*
-    : super self::Foo::•()
-    ;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-class Baz extends self::Foo implements pri::Fisk {
-  synthetic constructor •() → self::Baz*
-    : super self::Foo::•()
-    ;
-  method _hest() → dynamic
-    return null;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-library private_module;
-import self as pri;
-import "dart:core" as core;
-
-abstract class Fisk extends core::Object {
-  synthetic constructor •() → pri::Fisk*
-    : super core::Object::•()
-    ;
-  abstract method _hest() → void;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///private.dart::_hest
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.legacy.expect
deleted file mode 100644
index 000e1f1..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library private_module;
-import self as self;
-import "dart:core" as core;
-
-abstract class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
-    : super core::Object::•()
-    ;
-  abstract method _hest() → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.legacy.transformed.expect
deleted file mode 100644
index 000e1f1..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library private_module;
-import self as self;
-import "dart:core" as core;
-
-abstract class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
-    : super core::Object::•()
-    ;
-  abstract method _hest() → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.legacy.expect
deleted file mode 100644
index 37af7b9..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract method _foo() → void;
-}
-class Bar extends self::Foo {
-  synthetic constructor •() → self::Bar*
-    : super self::Foo::•()
-    ;
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  no-such-method-forwarder method _foo() → void
-    return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///private_same.dart::_foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.legacy.transformed.expect
deleted file mode 100644
index 37af7b9..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract method _foo() → void;
-}
-class Bar extends self::Foo {
-  synthetic constructor •() → self::Bar*
-    : super self::Foo::•()
-    ;
-  method noSuchMethod(core::Invocation* invocation) → dynamic
-    return null;
-  no-such-method-forwarder method _foo() → void
-    return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #org-dartlang-testcase:///private_same.dart::_foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.legacy.expect
deleted file mode 100644
index 3960a3d..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.legacy.transformed.expect
deleted file mode 100644
index 3960a3d..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-  no-such-method-forwarder method foo() → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.legacy.expect
deleted file mode 100644
index 9c314a6..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart:12:12: Error: 'foo' is already declared in this scope.
-//   void set foo(int x);
-//            ^^^
-// pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart:10:8: Context: Previous declaration of 'foo'.
-//   void foo(int x) {}
-//        ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → void {}
-  no-such-method-forwarder set foo(core::int* x) → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo=
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.legacy.transformed.expect
deleted file mode 100644
index 9c314a6..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart:12:12: Error: 'foo' is already declared in this scope.
-//   void set foo(int x);
-//            ^^^
-// pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart:10:8: Context: Previous declaration of 'foo'.
-//   void foo(int x) {}
-//        ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → void {}
-  no-such-method-forwarder set foo(core::int* x) → void
-    return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  method noSuchMethod(core::Invocation* i) → dynamic
-    return null;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo=
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect
deleted file mode 100644
index ab2e7eb..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method foo() → self::I::T*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-abstract class _A&Object&M = core::Object with self::M {
-  const synthetic constructor •() → self::_A&Object&M*
-    : super core::Object::•()
-    ;
-}
-class A extends self::_A&Object&M implements self::I<core::int*> {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M::•()
-    ;
-  no-such-method-forwarder method foo() → core::int*
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect
deleted file mode 100644
index daf083f..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method foo() → self::I::T*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-abstract class _A&Object&M extends core::Object implements self::M {
-  const synthetic constructor •() → self::_A&Object&M*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    return null;
-  }
-}
-class A extends self::_A&Object&M implements self::I<core::int*> {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&M::•()
-    ;
-  no-such-method-forwarder method foo() → core::int*
-    return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError} core::int*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.legacy.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.legacy.expect
deleted file mode 100644
index fc2544f..0000000
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class C extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  throw new core::AbstractClassInstantiationError::•("C");
-}
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.legacy.expect
deleted file mode 100644
index 7f8beee..0000000
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  const constructor •() → void
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_constructor_redirection.dart:6:20: Error: Method not found: 'x'.\n  const C() : this.x(1);\n                   ^"
-    ;
-  const constructor x() → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-  const self::C::•();
-}
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.legacy.expect
deleted file mode 100644
index f0ab924..0000000
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/bad_continue.dart:6:12: Error: Can't find label 'here'.\n  continue here;\n           ^";
-  #L1:
-  break #L1;
-}
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.legacy.expect
deleted file mode 100644
index eafe4ce..0000000
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •(dynamic x) → dynamic
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B
-    : invalid-initializer;
-}
-static method main() → dynamic {
-  new self::B::•();
-  invalid-expression;
-}
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.legacy.expect
deleted file mode 100644
index fc9f0a9..0000000
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Warning: Too few positional arguments: 1 required, 0 given.
-//   const B() : super();
-//                    ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •(dynamic x) → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  const constructor •() → self::B*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
-  const B() : super();
-                   ^"
-    ;
-}
-static method main() → dynamic {
-  new self::B::•();
-  invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
-  const B() : super();
-                   ^";
-}
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.legacy.transformed.expect
deleted file mode 100644
index fc9f0a9..0000000
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Warning: Too few positional arguments: 1 required, 0 given.
-//   const B() : super();
-//                    ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •(dynamic x) → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  const constructor •() → self::B*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
-  const B() : super();
-                   ^"
-    ;
-}
-static method main() → dynamic {
-  new self::B::•();
-  invalid-expression "pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart:10:20: Error: Too few positional arguments: 1 required, 0 given.
-  const B() : super();
-                   ^";
-}
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.legacy.expect
deleted file mode 100644
index 0ddc60f..0000000
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
-//   const B();
-//         ^
-//
-// pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
-//   A(this.x);
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •(dynamic x) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
-  A(this.x);
-         ^"
-    ;
-}
-class B extends self::A {
-  const constructor •() → self::B*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
-  const B();
-        ^"
-    ;
-}
-static method main() → dynamic {
-  new self::B::•();
-  invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
-  const B();
-        ^";
-}
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.legacy.transformed.expect
deleted file mode 100644
index 0ddc60f..0000000
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
-//   const B();
-//         ^
-//
-// pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
-//   A(this.x);
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •(dynamic x) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:6:10: Error: 'x' isn't an instance field of this class.
-  A(this.x);
-         ^"
-    ;
-}
-class B extends self::A {
-  const constructor •() → self::B*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
-  const B();
-        ^"
-    ;
-}
-static method main() → dynamic {
-  new self::B::•();
-  invalid-expression "pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart:10:9: Error: The superclass, 'A', has no unnamed constructor that takes no arguments.
-  const B();
-        ^";
-}
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.legacy.expect
deleted file mode 100644
index 0b4b2bd..0000000
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:13: Error: String starting with " must end with ".
-//   print(" $x.);
-//             ^^^
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:8: Error: Can't find ')' to match '('.
-//   print(" $x.);
-//        ^
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:12: Warning: Getter not found: 'x'.
-//   print(" $x.);
-//            ^
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:13: Error: Expected ';' after this.
-//   print(" $x.);
-//             ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(" ${throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))}.);\"");
-}
-
-constants  {
-  #C1 = #x
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.legacy.transformed.expect
deleted file mode 100644
index 0b4b2bd..0000000
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:13: Error: String starting with " must end with ".
-//   print(" $x.);
-//             ^^^
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:8: Error: Can't find ')' to match '('.
-//   print(" $x.);
-//        ^
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:12: Warning: Getter not found: 'x'.
-//   print(" $x.);
-//            ^
-//
-// pkg/front_end/testcases/rasta/bad_interpolation.dart:6:13: Error: Expected ';' after this.
-//   print(" $x.);
-//             ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(" ${throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)))}.);\"");
-}
-
-constants  {
-  #C1 = #x
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.legacy.expect
deleted file mode 100644
index d61c880..0000000
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    invalid-expression "pkg/front_end/testcases/rasta/bad_redirection.dart:6:11: Error: Can't return from a constructor.\n  Foo() = Bar;\n          ^";
-}
-class Bar extends self::Foo {
-  static factory •() → self::Bar
-    return null;
-}
-static method main() → dynamic {
-  new self::Foo::•();
-}
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect
deleted file mode 100644
index 422f909..0000000
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
-//   C() : field = null;
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
-  C() : field = null;
-        ^^^^^"
-    ;
-  set field(dynamic value) → void {}
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect
deleted file mode 100644
index 422f909..0000000
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
-//   C() : field = null;
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/bad_setter_initializer.dart:6:9: Error: 'field' isn't an instance field of this class.
-  C() : field = null;
-        ^^^^^"
-    ;
-  set field(dynamic value) → void {}
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.legacy.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.legacy.expect
deleted file mode 100644
index 06f22f0..0000000
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(invalid-expression);
-}
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.legacy.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.legacy.expect
deleted file mode 100644
index eadb4ab..0000000
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/breaking_bad.dart:6:3: Error: No target of break.\n  break;\n  ^";
-  #L1:
-  break #L1;
-}
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.legacy.expect b/pkg/front_end/testcases/rasta/cascades.dart.legacy.expect
deleted file mode 100644
index 141adf8..0000000
--- a/pkg/front_end/testcases/rasta/cascades.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method add(dynamic x) → dynamic
-    return x;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  function f(dynamic x) → dynamic
-    return x;
-  let final dynamic #t1 = a in let final dynamic #t2 = #t1.add(f).call("WHAT") in #t1;
-}
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/cascades.dart.legacy.transformed.expect
deleted file mode 100644
index 141adf8..0000000
--- a/pkg/front_end/testcases/rasta/cascades.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method add(dynamic x) → dynamic
-    return x;
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  function f(dynamic x) → dynamic
-    return x;
-  let final dynamic #t1 = a in let final dynamic #t2 = #t1.add(f).call("WHAT") in #t1;
-}
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.legacy.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.legacy.expect
deleted file mode 100644
index 504291a..0000000
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.legacy.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-// Formatted problems:
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:9:7: Error: The type 'Missing' can't be mixed in.
-// class C = Object with Missing;
-//       ^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:5:17: Error: Type 'Missing' not found.
-// class A extends Missing {}
-//                 ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:7:20: Error: Type 'Missing' not found.
-// class B implements Missing {}
-//                    ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:9:23: Error: Type 'Missing' not found.
-// class C = Object with Missing;
-//                       ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:12:17: Warning: Couldn't find constructor 'Missing'.
-//   factory D() = Missing;
-//                 ^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:12:11: Warning: Redirection constructor target not found: 'Missing'
-//   factory D() = Missing;
-//           ^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:12:11: Warning: Method not found: 'Missing'.
-//   factory D() = Missing;
-//           ^^^^^^^
-
-// Unhandled errors:
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:9:7: Error: The type 'Missing' can't be mixed in.
-// class C = Object with Missing;
-//       ^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:5:17: Error: Type 'Missing' not found.
-// class A extends Missing {}
-//                 ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:7:20: Error: Type 'Missing' not found.
-// class B implements Missing {}
-//                    ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:9:23: Error: Type 'Missing' not found.
-// class C = Object with Missing;
-//                       ^^^^^^^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  const synthetic constructor •() → self::C
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::D::•];
-  static factory •() → self::D
-    let dynamic #redirecting_factory = "Missing" in invalid-expression;
-}
-static method main() → void {
-  new self::A::•();
-  new self::B::•();
-  new self::C::•();
-  let dynamic _ = null in let dynamic _ = null in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Missing, 32, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-}
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.legacy.transformed.expect
deleted file mode 100644
index 2574251..0000000
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:9:7: Error: The type 'Missing' can't be mixed in.
-// class C = Object with Missing;
-//       ^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:5:17: Error: Type 'Missing' not found.
-// class A extends Missing {}
-//                 ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:7:20: Error: Type 'Missing' not found.
-// class B implements Missing {}
-//                    ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/class_hierarchy.dart:9:23: Error: Type 'Missing' not found.
-// class C = Object with Missing;
-//                       ^^^^^^^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  const synthetic constructor •() → self::C
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::D::•];
-  static factory •() → self::D
-    let dynamic #redirecting_factory = "Missing" in invalid-expression;
-}
-static method main() → void {
-  new self::A::•();
-  new self::B::•();
-  new self::C::•();
-  let dynamic _ = null in let dynamic _ = null in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Missing, 32, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-}
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.legacy.expect b/pkg/front_end/testcases/rasta/class_member.dart.legacy.expect
deleted file mode 100644
index 4f7da5e..0000000
--- a/pkg/front_end/testcases/rasta/class_member.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic field1 = null;
-  field dynamic field2 = null;
-  field dynamic field3 = null;
-  constructor constructor1() → void
-    : super core::Object::•()
-    ;
-  constructor constructor2() → void
-    : super core::Object::•()
-    ;
-  constructor constructor3() → void
-    : super core::Object::•()
-    ;
-  method a() → dynamic {}
-  method b() → dynamic {}
-  method c() → dynamic {}
-}
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.legacy.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.legacy.expect
deleted file mode 100644
index 8747190..0000000
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic c = #C1;
-static method main() → dynamic {
-  #C1;
-  (#C1).call();
-}
-
-constants  {
-  #C1 = 1
-}
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.legacy.transformed.expect
deleted file mode 100644
index 8747190..0000000
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field dynamic c = #C1;
-static method main() → dynamic {
-  #C1;
-  (#C1).call();
-}
-
-constants  {
-  #C1 = 1
-}
diff --git a/pkg/front_end/testcases/rasta/deferred_lib.dart.legacy.expect b/pkg/front_end/testcases/rasta/deferred_lib.dart.legacy.expect
deleted file mode 100644
index ac7cad3..0000000
--- a/pkg/front_end/testcases/rasta/deferred_lib.dart.legacy.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library deferred_lib;
-import self as self;
-
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.legacy.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.legacy.expect
deleted file mode 100644
index 84bbb0d..0000000
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {
-  self::__loadLibrary_lib;
-  LoadLibrary(lib);
-}
-static method __loadLibrary_lib() → asy::Future<dynamic>
-  return LoadLibrary(lib);
-
-library deferred_lib;
-import self as self2;
-
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect
deleted file mode 100644
index 6b3d464..0000000
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&Mixin = core::Object with self::Mixin {
-  synthetic constructor •() → self::_A&Object&Mixin*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&Mixin&Mixin = self::_A&Object&Mixin with self::Mixin {
-  synthetic constructor •() → self::_A&Object&Mixin&Mixin*
-    : super self::_A&Object&Mixin::•()
-    ;
-}
-class A extends self::_A&Object&Mixin&Mixin {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&Mixin&Mixin::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect
deleted file mode 100644
index ea7db2b..0000000
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&Mixin extends core::Object implements self::Mixin {
-  field dynamic field = null;
-  synthetic constructor •() → self::_A&Object&Mixin*
-    : super core::Object::•()
-    ;
-}
-abstract class _A&Object&Mixin&Mixin extends self::_A&Object&Mixin implements self::Mixin {
-  field dynamic field = null;
-  synthetic constructor •() → self::_A&Object&Mixin&Mixin*
-    : super self::_A&Object&Mixin::•()
-    ;
-}
-class A extends self::_A&Object&Mixin&Mixin {
-  synthetic constructor •() → self::A*
-    : super self::_A&Object&Mixin&Mixin::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/rasta/enum.dart.legacy.expect b/pkg/front_end/testcases/rasta/enum.dart.legacy.expect
deleted file mode 100644
index ced26a8..0000000
--- a/pkg/front_end/testcases/rasta/enum.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Foo*>* values = #C7;
-  static const field self::Foo* ec1 = #C3;
-  static const field self::Foo* ec2 = #C6;
-  const constructor •(core::int* index, core::String* _name) → self::Foo*
-    : self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Foo::_name};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-  #C2 = "Foo.ec1"
-  #C3 = self::Foo {index:#C1, _name:#C2}
-  #C4 = 1
-  #C5 = "Foo.ec2"
-  #C6 = self::Foo {index:#C4, _name:#C5}
-  #C7 = <self::Foo*>[#C3, #C6]
-}
diff --git a/pkg/front_end/testcases/rasta/enum.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/enum.dart.legacy.transformed.expect
deleted file mode 100644
index ced26a8..0000000
--- a/pkg/front_end/testcases/rasta/enum.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Foo*>* values = #C7;
-  static const field self::Foo* ec1 = #C3;
-  static const field self::Foo* ec2 = #C6;
-  const constructor •(core::int* index, core::String* _name) → self::Foo*
-    : self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
-    ;
-  method toString() → core::String*
-    return this.{=self::Foo::_name};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-  #C2 = "Foo.ec1"
-  #C3 = self::Foo {index:#C1, _name:#C2}
-  #C4 = 1
-  #C5 = "Foo.ec2"
-  #C6 = self::Foo {index:#C4, _name:#C5}
-  #C7 = <self::Foo*>[#C3, #C6]
-}
diff --git a/pkg/front_end/testcases/rasta/export.dart.legacy.expect b/pkg/front_end/testcases/rasta/export.dart.legacy.expect
deleted file mode 100644
index b0410f4..0000000
--- a/pkg/front_end/testcases/rasta/export.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library export;
-import self as self;
-import "foo.dart" as foo;
-additionalExports = (foo::foo)
-
-
-export "org-dartlang-testcase:///foo.dart";
-
-
-library foo;
-import self as foo;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/export.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/export.dart.legacy.transformed.expect
deleted file mode 100644
index b0410f4..0000000
--- a/pkg/front_end/testcases/rasta/export.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library export;
-import self as self;
-import "foo.dart" as foo;
-additionalExports = (foo::foo)
-
-
-export "org-dartlang-testcase:///foo.dart";
-
-
-library foo;
-import self as foo;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.legacy.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.legacy.expect
deleted file mode 100644
index 8977e84..0000000
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.legacy.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:collection" as col;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  "Should redirect to LinkedHashMap constructor.";
-  col::LinkedHashMap::•<core::Symbol, dynamic>();
-}
diff --git a/pkg/front_end/testcases/rasta/foo.dart.legacy.expect b/pkg/front_end/testcases/rasta/foo.dart.legacy.expect
deleted file mode 100644
index 5f90b5a..0000000
--- a/pkg/front_end/testcases/rasta/foo.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library foo;
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/foo.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/foo.dart.legacy.transformed.expect
deleted file mode 100644
index 5f90b5a..0000000
--- a/pkg/front_end/testcases/rasta/foo.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library foo;
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.legacy.expect b/pkg/front_end/testcases/rasta/for_loop.dart.legacy.expect
deleted file mode 100644
index 6ca16b2..0000000
--- a/pkg/front_end/testcases/rasta/for_loop.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int c = new core::DateTime::now().millisecondsSinceEpoch;
-  for (core::int i = 0; i.<(100); i = i.+(1)) {
-    core::print(let final dynamic #t1 = i in let final dynamic #t2 = i = #t1.+(1) in #t1);
-  }
-  for (core::int i = 0; i.<(100); c.<(42) ? throw "fisk" : i = i.+(1)) {
-    core::print(let final dynamic #t3 = i in let final dynamic #t4 = i = #t3.+(1) in #t3);
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.legacy.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.legacy.expect
deleted file mode 100644
index 5fe23cb..0000000
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.legacy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C1 extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class C2 extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class C3 extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class A<T extends core::Object> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::a, self::A::b, self::A::c];
-  constructor internal() → void
-    : super core::Object::•()
-    ;
-  static factory a<T extends core::Object>() → self::A<self::A::a::T>
-    let dynamic #redirecting_factory = self::B::a in invalid-expression;
-  static factory b<T extends core::Object>() → self::A<self::A::b::T>
-    let dynamic #redirecting_factory = self::B::a in invalid-expression;
-  static factory c<T extends core::Object>() → self::A<self::A::c::T>
-    let dynamic #redirecting_factory = "Missing" in invalid-expression;
-}
-class B<S extends core::Object> extends self::A<self::B::S> {
-  static field dynamic _redirecting# = <dynamic>[self::B::a, self::B::b];
-  constructor internal() → void
-    : super self::A::internal()
-    ;
-  static factory a<S extends core::Object>() → self::B<self::B::a::S>
-    let dynamic #redirecting_factory = self::C::• in invalid-expression;
-  static factory b<S extends core::Object>() → self::B<self::B::b::S>
-    let dynamic #redirecting_factory = self::C::• in invalid-expression;
-}
-class C<U extends core::Object> extends self::B<self::C::U> {
-  constructor •() → void
-    : super self::B::internal()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•<self::C3>();
-  new self::C::•<self::C3>();
-  new self::C::•<self::C3>();
-  new self::C::•<self::C3>();
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Missing, 32, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-}
diff --git a/pkg/front_end/testcases/rasta/hello.dart.legacy.expect b/pkg/front_end/testcases/rasta/hello.dart.legacy.expect
deleted file mode 100644
index fea7b39..0000000
--- a/pkg/front_end/testcases/rasta/hello.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/hello.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/hello.dart.legacy.transformed.expect
deleted file mode 100644
index fea7b39..0000000
--- a/pkg/front_end/testcases/rasta/hello.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.legacy.expect b/pkg/front_end/testcases/rasta/import_export.dart.legacy.expect
deleted file mode 100644
index e4794e6..0000000
--- a/pkg/front_end/testcases/rasta/import_export.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "foo.dart" as foo;
-
-import "org-dartlang-testcase:///export.dart";
-
-static method main() → dynamic {
-  foo::foo();
-}
-
-library export;
-import self as self2;
-import "foo.dart" as foo;
-additionalExports = (foo::foo)
-
-
-export "org-dartlang-testcase:///foo.dart";
-
-
-library foo;
-import self as foo;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/import_export.dart.legacy.transformed.expect
deleted file mode 100644
index e4794e6..0000000
--- a/pkg/front_end/testcases/rasta/import_export.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "foo.dart" as foo;
-
-import "org-dartlang-testcase:///export.dart";
-
-static method main() → dynamic {
-  foo::foo();
-}
-
-library export;
-import self as self2;
-import "foo.dart" as foo;
-additionalExports = (foo::foo)
-
-
-export "org-dartlang-testcase:///foo.dart";
-
-
-library foo;
-import self as foo;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::print("Hello, World!");
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.legacy.expect
deleted file mode 100644
index 71fbadb..0000000
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method test0(dynamic x) → dynamic {
-  core::print("test0");
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#test0, 32, null, <dynamic>[0, 1].toList(growable: false), <dynamic, dynamic>{}));
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.legacy.expect
deleted file mode 100644
index 5ee9b9b..0000000
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-import "dart:typed_data" as typ;
-
-class Foo extends core::Object {
-  final field dynamic value;
-  constructor •(dynamic value) → void
-    : self::Foo::value = value, super core::Object::•() {}
-  static factory fac(dynamic value) → self::Foo {
-    return new self::Foo::•(value);
-  }
-}
-static field dynamic list = <dynamic>[1, 2, 3];
-static method main() → dynamic {
-  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).[](1).==(2));
-  exp::Expect::isTrue(self::Foo::fac(10).value.==(10));
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.legacy.transformed.expect
deleted file mode 100644
index 5ee9b9b..0000000
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-import "dart:typed_data" as typ;
-
-class Foo extends core::Object {
-  final field dynamic value;
-  constructor •(dynamic value) → void
-    : self::Foo::value = value, super core::Object::•() {}
-  static factory fac(dynamic value) → self::Foo {
-    return new self::Foo::•(value);
-  }
-}
-static field dynamic list = <dynamic>[1, 2, 3];
-static method main() → dynamic {
-  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).[](1).==(2));
-  exp::Expect::isTrue(self::Foo::fac(10).value.==(10));
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.legacy.expect
deleted file mode 100644
index 4e2ee79..0000000
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-static field dynamic global;
-static method fact4() → dynamic {
-  dynamic f = 1;
-  for (dynamic n in <dynamic>[1, 2, 3, 4]) {
-    f = f.*(n);
-  }
-  return f;
-}
-static method fact5() → dynamic {
-  dynamic f = 1;
-  dynamic n;
-  for (final dynamic #t1 in <dynamic>[1, 2, 3, 4, 5]) {
-    n = #t1;
-    f = f.*(n);
-  }
-  return f;
-}
-static method fact6() → dynamic {
-  dynamic f = 1;
-  for (final dynamic #t2 in <dynamic>[1, 2, 3, 4, 5, 6]) {
-    self::global = #t2;
-    f = f.*(self::global);
-  }
-  return f;
-}
-static method main() → dynamic {
-  exp::Expect::isTrue(self::fact4().==(24));
-  exp::Expect::isTrue(self::fact5().==(120));
-  exp::Expect::isTrue(self::fact6().==(720));
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.legacy.transformed.expect
deleted file mode 100644
index 4e2ee79..0000000
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-static field dynamic global;
-static method fact4() → dynamic {
-  dynamic f = 1;
-  for (dynamic n in <dynamic>[1, 2, 3, 4]) {
-    f = f.*(n);
-  }
-  return f;
-}
-static method fact5() → dynamic {
-  dynamic f = 1;
-  dynamic n;
-  for (final dynamic #t1 in <dynamic>[1, 2, 3, 4, 5]) {
-    n = #t1;
-    f = f.*(n);
-  }
-  return f;
-}
-static method fact6() → dynamic {
-  dynamic f = 1;
-  for (final dynamic #t2 in <dynamic>[1, 2, 3, 4, 5, 6]) {
-    self::global = #t2;
-    f = f.*(self::global);
-  }
-  return f;
-}
-static method main() → dynamic {
-  exp::Expect::isTrue(self::fact4().==(24));
-  exp::Expect::isTrue(self::fact5().==(120));
-  exp::Expect::isTrue(self::fact6().==(720));
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.legacy.expect
deleted file mode 100644
index b8b4a93..0000000
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static field dynamic list = <dynamic>[1, 2, 3];
-static method main() → dynamic {
-  self::list.add(1);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.legacy.transformed.expect
deleted file mode 100644
index b8b4a93..0000000
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static field dynamic list = <dynamic>[1, 2, 3];
-static method main() → dynamic {
-  self::list.add(1);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect
deleted file mode 100644
index b88e0b2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return core::print("foo");
-}
-abstract class _Sub&Base&Mixin = self::Base with self::Mixin {
-  synthetic constructor •() → self::_Sub&Base&Mixin*
-    : super self::Base::•()
-    ;
-}
-class Sub extends self::_Sub&Base&Mixin {
-  synthetic constructor •() → self::Sub*
-    : super self::_Sub&Base&Mixin::•()
-    ;
-}
-static method main() → dynamic {
-  new self::Sub::•().foo();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect
deleted file mode 100644
index 492c260..0000000
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return core::print("foo");
-}
-abstract class _Sub&Base&Mixin extends self::Base implements self::Mixin {
-  synthetic constructor •() → self::_Sub&Base&Mixin*
-    : super self::Base::•()
-    ;
-  method foo() → dynamic
-    return core::print("foo");
-}
-class Sub extends self::_Sub&Base&Mixin {
-  synthetic constructor •() → self::Sub*
-    : super self::_Sub&Base&Mixin::•()
-    ;
-}
-static method main() → dynamic {
-  new self::Sub::•().foo();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.legacy.expect
deleted file mode 100644
index 14255eb..0000000
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x;
-  constructor •(dynamic x) → self::C*
-    : self::C::x = x, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•(42);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.legacy.transformed.expect
deleted file mode 100644
index 14255eb..0000000
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic x;
-  constructor •(dynamic x) → self::C*
-    : self::C::x = x, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•(42);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.legacy.expect
deleted file mode 100644
index aa88a42..0000000
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  try {
-    core::print(42);
-  }
-  finally {
-    core::print(87);
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.legacy.transformed.expect
deleted file mode 100644
index aa88a42..0000000
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  try {
-    core::print(42);
-  }
-  finally {
-    core::print(87);
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.legacy.expect
deleted file mode 100644
index 0cafb11..0000000
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method m() → dynamic {
-    super.{self::A::field} = 42;
-  }
-}
-static method main() → dynamic {
-  new self::B::•().m();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.legacy.transformed.expect
deleted file mode 100644
index 0cafb11..0000000
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method m() → dynamic {
-    super.{self::A::field} = 42;
-  }
-}
-static method main() → dynamic {
-  new self::B::•().m();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect
deleted file mode 100644
index 3be7ccc..0000000
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static get x() → dynamic
-  return 42;
-static set x(dynamic val) → void {}
-static method main() → dynamic {
-  core::print(self::x);
-  core::print(self::x = 87);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect
deleted file mode 100644
index 3be7ccc..0000000
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static get x() → dynamic
-  return 42;
-static set x(dynamic val) → void {}
-static method main() → dynamic {
-  core::print(self::x);
-  core::print(self::x = 87);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.legacy.expect
deleted file mode 100644
index a3fa7d2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic a = null;
-  field dynamic b = 0;
-  field dynamic c = 1.+(2);
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  field dynamic a = null;
-  field dynamic b = 1;
-  field dynamic c = 2.-(3);
-  constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-  new self::D::•();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.legacy.transformed.expect
deleted file mode 100644
index a3fa7d2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic a = null;
-  field dynamic b = 0;
-  field dynamic c = 1.+(2);
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object {
-  field dynamic a = null;
-  field dynamic b = 1;
-  field dynamic c = 2.-(3);
-  constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-  new self::D::•();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.legacy.expect
deleted file mode 100644
index 2f72170..0000000
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
-//   math..toString();
-//   ^^^^
-//
-import self as self;
-
-import "dart:math" as math;
-
-static method main() → dynamic {
-  let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
-  math..toString();
-  ^^^^" in let final dynamic #t2 = #t1.toString() in #t1;
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.legacy.expect
deleted file mode 100644
index 3be911b..0000000
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C
-    : super core::Object::•();
-}
-static method main() → dynamic
-  invalid-statement;
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.legacy.expect
deleted file mode 100644
index 5af59e6..0000000
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000033.dart:5:2: Warning: Method not found: 'JS'.
-// @JS()
-//  ^^
-//
-import self as self;
-
-@invalid-expression "pkg/front_end/testcases/rasta/issue_000033.dart:5:2: Error: Method not found: 'JS'.
-@JS()
- ^^"
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.legacy.transformed.expect
deleted file mode 100644
index 5af59e6..0000000
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000033.dart:5:2: Warning: Method not found: 'JS'.
-// @JS()
-//  ^^
-//
-import self as self;
-
-@invalid-expression "pkg/front_end/testcases/rasta/issue_000033.dart:5:2: Error: Method not found: 'JS'.
-@JS()
- ^^"
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.legacy.expect
deleted file mode 100644
index e901592..0000000
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-//   const C() : this.x;
-//               ^^^^
-//
-// pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: Can't access 'this' in a field initializer.
-//   const C() : this.x;
-//               ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  const constructor •() → self::C*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
-  const C() : this.x;
-              ^"
-    ;
-}
-static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
-  const C() : this.x;
-              ^";
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.legacy.transformed.expect
deleted file mode 100644
index e901592..0000000
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-//   const C() : this.x;
-//               ^^^^
-//
-// pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: Can't access 'this' in a field initializer.
-//   const C() : this.x;
-//               ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  const constructor •() → self::C*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
-  const C() : this.x;
-              ^"
-    ;
-}
-static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/issue_000034.dart:6:15: Error: This couldn't be parsed.
-  const C() : this.x;
-              ^";
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.legacy.expect
deleted file mode 100644
index 3d22952..0000000
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:10: Error: The non-ASCII character 'æ' (U+00E6) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-// class C {æøC();}
-//          ^
-//
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:11: Error: The non-ASCII character 'ø' (U+00F8) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-// class C {æøC();}
-//           ^
-//
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:7: Error: The non-abstract class 'C' is missing implementations for these members:
-//  - C.æøC
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class C {æøC();}
-//       ^
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:10: Context: 'C.æøC' is defined here.
-// class C {æøC();}
-//          ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract method æøC() → dynamic;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.legacy.transformed.expect
deleted file mode 100644
index 3d22952..0000000
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:10: Error: The non-ASCII character 'æ' (U+00E6) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-// class C {æøC();}
-//          ^
-//
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:11: Error: The non-ASCII character 'ø' (U+00F8) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-// class C {æøC();}
-//           ^
-//
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:7: Error: The non-abstract class 'C' is missing implementations for these members:
-//  - C.æøC
-// Try to either
-//  - provide an implementation,
-//  - inherit an implementation from a superclass or mixin,
-//  - mark the class as abstract, or
-//  - provide a 'noSuchMethod' implementation.
-//
-// class C {æøC();}
-//       ^
-// pkg/front_end/testcases/rasta/issue_000035.dart:5:10: Context: 'C.æøC' is defined here.
-// class C {æøC();}
-//          ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract method æøC() → dynamic;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.legacy.expect
deleted file mode 100644
index a4f9fec..0000000
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000035a.dart:5:9: Error: The non-ASCII space character U+2028 can only be used in strings and comments.
-// class C{

C();}
-//         ^
-//
-// pkg/front_end/testcases/rasta/issue_000035a.dart:5:10: Error: The non-ASCII space character U+2028 can only be used in strings and comments.
-// class C{

C();}
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.legacy.transformed.expect
deleted file mode 100644
index a4f9fec..0000000
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000035a.dart:5:9: Error: The non-ASCII space character U+2028 can only be used in strings and comments.
-// class C{

C();}
-//         ^
-//
-// pkg/front_end/testcases/rasta/issue_000035a.dart:5:10: Error: The non-ASCII space character U+2028 can only be used in strings and comments.
-// class C{

C();}
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.legacy.expect
deleted file mode 100644
index 1cafd63..0000000
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.legacy.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  invalid-statement;
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.legacy.expect
deleted file mode 100644
index e7115e9..0000000
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic a;
-  constructor •() → dynamic
-    : invalid-initializer;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B
-    : super self::A::•();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.legacy.expect
deleted file mode 100644
index cc80411..0000000
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//     use(+super);
-//         ^
-//
-// pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     use(+super);
-//          ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method test() → dynamic {
-    self::use(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: This couldn't be parsed.
-    use(+super);
-        ^".+(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    use(+super);
-         ^^^^^"));
-  }
-}
-static method use(dynamic _) → dynamic
-  return null;
-static method main() → dynamic {
-  new self::C::•().test();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.legacy.transformed.expect
deleted file mode 100644
index cc80411..0000000
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//     use(+super);
-//         ^
-//
-// pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     use(+super);
-//          ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method test() → dynamic {
-    self::use(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: This couldn't be parsed.
-    use(+super);
-        ^".+(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    use(+super);
-         ^^^^^"));
-  }
-}
-static method use(dynamic _) → dynamic
-  return null;
-static method main() → dynamic {
-  new self::C::•().test();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.legacy.expect
deleted file mode 100644
index ad208b6..0000000
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  for (final dynamic #t1 = let dynamic _ = null in invalid-expression "pkg/front_end/testcases/rasta/issue_000042.dart:6:8: Error: A for-loop can't have more than one loop variable.
-  for (var x, y in []) {}
-       ^^^" in <dynamic>[]) {
-  }
-  #L1:
-  {
-    invalid-statement;
-  }
-  #L2:
-  if(true) {
-    invalid-statement;
-  }
-  #L3:
-  switch(1) {
-    #L4:
-    case 1:
-      invalid-statement;
-    #L3:
-    case 2:
-      {
-        break #L3;
-      }
-  }
-  try {
-  }
-  on core::NoSuchMethodError catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.legacy.expect
deleted file mode 100644
index b4e9678..0000000
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return "${self::C}".hashCode;
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.legacy.expect
deleted file mode 100644
index abff29a..0000000
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::good];
-  const constructor constant() → void
-    : super core::Object::•()
-    ;
-  constructor missingFactoryKeyword() → void
-    : super core::Object::•()
-    invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:14:31: Error: Can't return from a constructor.\n  C.missingFactoryKeyword() = C.constant;\n                              ^";
-  static factory good() → self::C
-    let dynamic #redirecting_factory = self::C::constant in invalid-expression;
-  method notEvenAConstructor(dynamic a) → self::C
-    invalid-statement;
-}
-static method b(dynamic c) → invalid-type
-  return throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#d, 33, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-static method main() → dynamic {
-  self::C c = null;
-  core::print(const self::C::constant());
-  core::print(invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:27:15: Error: Not a const constructor.\n  print(const C.missingFactoryKeyword());\n              ^");
-  core::print(const self::C::constant());
-  core::print(new self::C::constant().notEvenAConstructor(null));
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.legacy.expect
deleted file mode 100644
index 2622c42..0000000
--- a/pkg/front_end/testcases/rasta/issue_000045.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000045.dart:5:18: Error: String starting with """ must end with """.
-// main() => """${1}
-//                  ^...
-//
-// pkg/front_end/testcases/rasta/issue_000045.dart:5:18: Error: Expected ';' after this.
-// main() => """${1}
-//                  ^...
-//
-// pkg/front_end/testcases/rasta/issue_000045.dart:6:1: Error: Unexpected token ''.
-//
-import self as self;
-
-static method main() → dynamic
-  return "${1}
-\"\"\"";
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.legacy.transformed.expect
deleted file mode 100644
index 2622c42..0000000
--- a/pkg/front_end/testcases/rasta/issue_000045.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000045.dart:5:18: Error: String starting with """ must end with """.
-// main() => """${1}
-//                  ^...
-//
-// pkg/front_end/testcases/rasta/issue_000045.dart:5:18: Error: Expected ';' after this.
-// main() => """${1}
-//                  ^...
-//
-// pkg/front_end/testcases/rasta/issue_000045.dart:6:1: Error: Unexpected token ''.
-//
-import self as self;
-
-static method main() → dynamic
-  return "${1}
-\"\"\"";
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.legacy.expect
deleted file mode 100644
index 5ba14a8..0000000
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected '(' after this.
-//   C c = new Object)();
-//             ^^^^^^
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' after this.
-//   C c = new Object)();
-//                   ^
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
-//   C c = new Object)();
-//                   ^
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:20: Error: Expected an identifier, but got '('.
-//   C c = new Object)();
-//                    ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field self::C* c = new core::Object::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.legacy.transformed.expect
deleted file mode 100644
index 5ba14a8..0000000
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:13: Error: Expected '(' after this.
-//   C c = new Object)();
-//             ^^^^^^
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected ';' after this.
-//   C c = new Object)();
-//                   ^
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:19: Error: Expected a class member, but got ')'.
-//   C c = new Object)();
-//                   ^
-//
-// pkg/front_end/testcases/rasta/issue_000046.dart:6:20: Error: Expected an identifier, but got '('.
-//   C c = new Object)();
-//                    ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field self::C* c = new core::Object::•();
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.legacy.expect
deleted file mode 100644
index a0a397b..0000000
--- a/pkg/front_end/testcases/rasta/issue_000047.dart.legacy.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → invalid-type
-  return null;
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.legacy.expect
deleted file mode 100644
index 544c828..0000000
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::bool* v1;
-  field core::num* v2;
-  constructor •(core::bool* v1, core::num* v2) → self::A*
-    : self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
-    ;
-}
-class M1 extends core::Object {
-  field core::num* v2 = 0;
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-class C = self::A with self::M1 {
-  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
-    : super self::A::•(v1, v2)
-    ;
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•(true, 2);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.legacy.transformed.expect
deleted file mode 100644
index ed8c072..0000000
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::bool* v1;
-  field core::num* v2;
-  constructor •(core::bool* v1, core::num* v2) → self::A*
-    : self::A::v1 = v1, self::A::v2 = v2, super core::Object::•()
-    ;
-}
-class M1 extends core::Object {
-  field core::num* v2 = 0;
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-}
-class C extends self::A implements self::M1 {
-  field core::num* v2 = 0;
-  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
-    : super self::A::•(v1, v2)
-    ;
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•(true, 2);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.legacy.expect
deleted file mode 100644
index d3f72c2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f() → dynamic {
-    core::print("hello");
-  }
-  f.call();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.legacy.transformed.expect
deleted file mode 100644
index d3f72c2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  function f() → dynamic {
-    core::print("hello");
-  }
-  f.call();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect
deleted file mode 100644
index 461f258..0000000
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return throw "x";
-  method test() → dynamic {
-    super.{core::Object::==}(null);
-  }
-}
-static method main() → dynamic {
-  new self::C::•().test();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect
deleted file mode 100644
index 461f258..0000000
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return throw "x";
-  method test() → dynamic {
-    super.{core::Object::==}(null);
-  }
-}
-static method main() → dynamic {
-  new self::C::•().test();
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.legacy.expect
deleted file mode 100644
index a79fae9..0000000
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::foo];
-  constructor •() → self::A*
-    : super core::Object::•() {}
-  static factory foo() → self::A*
-    let dynamic #redirecting_factory = self::C::bar in invalid-expression;
-  method m() → core::int* {}
-}
-class C extends self::A {
-  static field dynamic _redirecting# = <dynamic>[self::C::bar];
-  constructor •() → self::C*
-    : super self::A::•() {}
-  static factory bar() → self::C*
-    let dynamic #redirecting_factory = self::D::• in invalid-expression;
-  method m() → core::int* {
-    return 1;
-  }
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method m() → core::int* {
-    return 2;
-  }
-}
-static method main() → dynamic {
-  self::A* a = new self::D::•();
-  exp::Expect::equals(2, a.m());
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.legacy.transformed.expect
deleted file mode 100644
index a79fae9..0000000
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::foo];
-  constructor •() → self::A*
-    : super core::Object::•() {}
-  static factory foo() → self::A*
-    let dynamic #redirecting_factory = self::C::bar in invalid-expression;
-  method m() → core::int* {}
-}
-class C extends self::A {
-  static field dynamic _redirecting# = <dynamic>[self::C::bar];
-  constructor •() → self::C*
-    : super self::A::•() {}
-  static factory bar() → self::C*
-    let dynamic #redirecting_factory = self::D::• in invalid-expression;
-  method m() → core::int* {
-    return 1;
-  }
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method m() → core::int* {
-    return 2;
-  }
-}
-static method main() → dynamic {
-  self::A* a = new self::D::•();
-  exp::Expect::equals(2, a.m());
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.legacy.expect
deleted file mode 100644
index e2d49f4..0000000
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.legacy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class G<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {
-  exp::Expect::isFalse(new self::G::•<self::B*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<core::Object*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::double*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::String*>*);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.legacy.transformed.expect
deleted file mode 100644
index e2d49f4..0000000
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class G<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {
-  exp::Expect::isFalse(new self::G::•<self::B*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<self::A*>() is self::G<self::C*>*);
-  exp::Expect::isFalse(new self::G::•<core::Object*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<self::B*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::double*>*);
-  exp::Expect::isFalse(new self::G::•<core::int*>() is self::G<core::String*>*);
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.legacy.expect
deleted file mode 100644
index 9b3d5ea..0000000
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  dynamic x;
-  dynamic i = 0;
-  while ((let final dynamic #t1 = i in let final dynamic #t2 = i = #t1.+(1) in #t1).<(5)) {
-    dynamic x = i;
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.legacy.transformed.expect
deleted file mode 100644
index 9b3d5ea..0000000
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  dynamic x;
-  dynamic i = 0;
-  while ((let final dynamic #t1 = i in let final dynamic #t2 = i = #t1.+(1) in #t1).<(5)) {
-    dynamic x = i;
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.legacy.expect
deleted file mode 100644
index 661cea2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  final field core::List<self::A::U*>* field;
-  constructor •(self::A::N* n, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = core::List::•<self::A::U*>(), super core::Object::•() {
-    exp::Expect::isTrue(n is self::A::N*);
-    exp::Expect::isTrue(s is self::A::S*);
-  }
-  constructor empty() → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = null, super core::Object::•() {}
-  const constructor c(self::A::U* u, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = #C2, super core::Object::•()
-    ;
-  static factory f<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic>(self::A::f::S* s) → self::A<self::A::f::N*, self::A::f::S*, self::A::f::U*>* {
-    exp::Expect::isTrue(s is self::A::f::S*);
-    return new self::A::empty<dynamic, dynamic, dynamic>();
-  }
-  get getter() → core::List<self::A::U*>* {
-    return this.{self::A::field};
-  }
-  set setter(generic-covariant-impl self::A::S* s) → void {}
-}
-abstract class J<Aa extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::Aa*, self::J::B*>*
-    : super core::Object::•()
-    ;
-}
-abstract class I<H extends core::Object* = dynamic, C extends core::Object* = dynamic, K extends core::Object* = dynamic> extends self::J<self::I::C*, self::I::K*> {
-  synthetic constructor •() → self::I<self::I::H*, self::I::C*, self::I::K*>*
-    : super self::J::•()
-    ;
-}
-static method main() → dynamic {
-  new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
-  self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
-  #C3;
-  dynamic z = a.getter;
-  a.setter = 1;
-}
-
-constants  {
-  #C1 = null
-  #C2 = <dynamic>[#C1]
-  #C3 = self::A<core::int*, core::int*, core::List<dynamic>*> {field:#C2}
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.legacy.transformed.expect
deleted file mode 100644
index ebadef3..0000000
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-class A<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  final field core::List<self::A::U*>* field;
-  constructor •(self::A::N* n, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = core::_GrowableList::•<self::A::U*>(0), super core::Object::•() {
-    exp::Expect::isTrue(n is self::A::N*);
-    exp::Expect::isTrue(s is self::A::S*);
-  }
-  constructor empty() → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = null, super core::Object::•() {}
-  const constructor c(self::A::U* u, self::A::S* s) → self::A<self::A::N*, self::A::S*, self::A::U*>*
-    : self::A::field = #C2, super core::Object::•()
-    ;
-  static factory f<N extends core::Object* = dynamic, S extends core::Object* = dynamic, U extends core::Object* = dynamic>(self::A::f::S* s) → self::A<self::A::f::N*, self::A::f::S*, self::A::f::U*>* {
-    exp::Expect::isTrue(s is self::A::f::S*);
-    return new self::A::empty<dynamic, dynamic, dynamic>();
-  }
-  get getter() → core::List<self::A::U*>* {
-    return this.{self::A::field};
-  }
-  set setter(generic-covariant-impl self::A::S* s) → void {}
-}
-abstract class J<Aa extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::J<self::J::Aa*, self::J::B*>*
-    : super core::Object::•()
-    ;
-}
-abstract class I<H extends core::Object* = dynamic, C extends core::Object* = dynamic, K extends core::Object* = dynamic> extends self::J<self::I::C*, self::I::K*> {
-  synthetic constructor •() → self::I<self::I::H*, self::I::C*, self::I::K*>*
-    : super self::J::•()
-    ;
-}
-static method main() → dynamic {
-  new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
-  self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
-  #C3;
-  dynamic z = a.getter;
-  a.setter = 1;
-}
-
-constants  {
-  #C1 = null
-  #C2 = <dynamic>[#C1]
-  #C3 = self::A<core::int*, core::int*, core::List<dynamic>*> {field:#C2}
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect
deleted file mode 100644
index ea8de52..0000000
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return 87;
-}
-abstract class _Foo&Object&Mixin = core::Object with self::Mixin {
-  synthetic constructor •() → self::_Foo&Object&Mixin*
-    : super core::Object::•()
-    ;
-}
-class Foo extends self::_Foo&Object&Mixin {
-  synthetic constructor •() → self::Foo*
-    : super self::_Foo&Object&Mixin::•()
-    ;
-  method foo() → dynamic
-    return super.{self::Mixin::foo}();
-  method bar() → dynamic
-    return super.{self::Mixin::field};
-}
-static method main() → dynamic {
-  dynamic f = new self::Foo::•();
-  f.field = 42;
-  core::print(f.bar());
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect
deleted file mode 100644
index 1b1ac3d..0000000
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return 87;
-}
-abstract class _Foo&Object&Mixin extends core::Object implements self::Mixin {
-  field dynamic field = null;
-  synthetic constructor •() → self::_Foo&Object&Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return 87;
-}
-class Foo extends self::_Foo&Object&Mixin {
-  synthetic constructor •() → self::Foo*
-    : super self::_Foo&Object&Mixin::•()
-    ;
-  method foo() → dynamic
-    return super.{self::Mixin::foo}();
-  method bar() → dynamic
-    return super.{self::Mixin::field};
-}
-static method main() → dynamic {
-  dynamic f = new self::Foo::•();
-  f.field = 42;
-  core::print(f.bar());
-}
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.legacy.expect
deleted file mode 100644
index 1e3002d..0000000
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Base extends core::Object {
-  field core::int hashCode = 42;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class Sub extends self::Base {
-  field core::int _hashCode = null;
-  synthetic constructor •() → void
-    : super self::Base::•()
-    ;
-  get hashCode() → dynamic
-    return let final dynamic #t1 = this._hashCode in #t1.==(null) ? this._hashCode = super.{self::Base::hashCode} : #t1;
-  method foo() → dynamic {
-    this._hashCode.==(null) ? this._hashCode = super.{self::Base::hashCode} : null;
-  }
-}
-static method main() → dynamic {
-  core::print(new self::Sub::•().hashCode);
-  dynamic l = <dynamic>[null];
-  let final dynamic #t2 = l in let final dynamic #t3 = 0 in #t2.[](#t3).==(null) ? #t2.[]=(#t3, "fisk") : null;
-}
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.legacy.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.legacy.expect
deleted file mode 100644
index 36343aa..0000000
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/rasta/malformed_const_constructor.dart:8:5: Error: Expected '{' before this.
-//     : x = 'foo'
-//     ^
-//
-// pkg/front_end/testcases/rasta/malformed_const_constructor.dart:6:3: Error: A const constructor can't have a body.
-// Try removing either the 'const' keyword or the body.
-//   const A()
-//   ^^^^^
-//
-// pkg/front_end/testcases/rasta/malformed_const_constructor.dart:8:5: Error: Expected a class member, but got ':'.
-//     : x = 'foo'
-//     ^
-//
-// pkg/front_end/testcases/rasta/malformed_const_constructor.dart:8:7: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-//     : x = 'foo'
-//       ^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  const constructor •() → void
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/malformed_const_constructor.dart:7:7: Error: Setter not found: 'x'.\n    : x = 'foo'\n      ^"
-    ;
-}
-static method main() → dynamic {
-  const self::A::•();
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.legacy.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.legacy.expect
deleted file mode 100644
index e391c9b..0000000
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  invalid-expression "pkg/front_end/testcases/rasta/malformed_function.dart:7:8: Error: Can't assign to a parenthesized expression.\n  (null) = null;\n       ^";
-}
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.legacy.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.legacy.expect
deleted file mode 100644
index 1cb9f39..0000000
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/malformed_function_type.dart:5:16: Error: The typedef 'Handle' has a reference to itself.
-// typedef Handle Handle(String command);
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Handle = (core::String*) →* invalid-type;
-static method main() → dynamic {
-  (core::String*) →* invalid-type h;
-}
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.legacy.transformed.expect
deleted file mode 100644
index 1cb9f39..0000000
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/malformed_function_type.dart:5:16: Error: The typedef 'Handle' has a reference to itself.
-// typedef Handle Handle(String command);
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Handle = (core::String*) →* invalid-type;
-static method main() → dynamic {
-  (core::String*) →* invalid-type h;
-}
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.legacy.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.legacy.expect
deleted file mode 100644
index 3545c73..0000000
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,4 +0,0 @@
-library;
-import self as self;
-
-static method main(dynamic arguments) → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.legacy.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.legacy.expect
deleted file mode 100644
index feb8d13..0000000
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test.mixin_library;
-import self as self;
-import "dart:core" as core;
-
-class Mixin<T extends core::Object> extends core::Object {
-  field dynamic x = self::f();
-  field dynamic y = null;
-  field dynamic z = null;
-  field self::Mixin::T t = null;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return super.foo().+(self::f());
-  method g(self::Mixin::T a) → self::Mixin::T
-    return null;
-  method h() → dynamic
-    return self::V();
-  method l() → dynamic
-    return self::_private();
-  method _privateMethod() → dynamic
-    return 49;
-  method publicMethod() → dynamic
-    return this._privateMethod();
-}
-static method f() → dynamic
-  return 2;
-static method V() → dynamic
-  return 87;
-static method _private() → dynamic
-  return 117;
-static method foo(dynamic m) → dynamic
-  return m._privateMethod();
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.legacy.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.legacy.expect
deleted file mode 100644
index 36cec9b..0000000
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  get x() → self::Bar
-    return "Bar_get_x";
-  set x(self::Bar value) → dynamic
-    return "Bar_set_x";
-  method f() → dynamic
-    return "Bar_f";
-  static factory •() → self::Bar
-    return "Bar_constructor";
-}
-static method foo() → dynamic
-  invalid-statement;
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.legacy.expect b/pkg/front_end/testcases/rasta/parser_error.dart.legacy.expect
deleted file mode 100644
index 43a8c2d..0000000
--- a/pkg/front_end/testcases/rasta/parser_error.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/parser_error.dart:10:7: Error: Expected an identifier, but got '?'.
-//   if (?b) return b;  /// 01: compile-time error
-//       ^
-//
-// pkg/front_end/testcases/rasta/parser_error.dart:10:9: Error: Expected ':' before this.
-//   if (?b) return b;  /// 01: compile-time error
-//         ^
-//
-// pkg/front_end/testcases/rasta/parser_error.dart:10:9: Error: Expected an identifier, but got ')'.
-//   if (?b) return b;  /// 01: compile-time error
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-import "package:expect/expect.dart" as exp;
-
-import "package:expect/expect.dart";
-
-static method test(dynamic a, {dynamic b = null, dynamic c = null}) → core::int {
-  if(invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:7: Error: This couldn't be parsed.
-  if (?b) return b;  /// 01: compile-time error
-      ^" ? b : invalid-expression "pkg/front_end/testcases/rasta/parser_error.dart:10:9: Error: This couldn't be parsed.
-  if (?b) return b;  /// 01: compile-time error
-        ^")
-    return b;
-  return a.+(b).+(c);
-}
-static method main() → dynamic {
-  exp::Expect::equals(6, self::test(1, b: 2, c: 3));
-}
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.legacy.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.legacy.expect
deleted file mode 100644
index 0a16b0d..0000000
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::foo();
-}
-
-library deferred_lib;
-import self as def;
-
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.legacy.transformed.expect
deleted file mode 100644
index 0a16b0d..0000000
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic {}
-static method test() → dynamic {
-  let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::foo();
-}
-
-library deferred_lib;
-import self as def;
-
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/rasta/static.dart.legacy.expect b/pkg/front_end/testcases/rasta/static.dart.legacy.expect
deleted file mode 100644
index 4abbd71..0000000
--- a/pkg/front_end/testcases/rasta/static.dart.legacy.expect
+++ /dev/null
@@ -1,236 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/static.dart:28:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:29:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:31:9: Warning: Setter not found: 'staticConstant'.
-//     Foo.staticConstant++;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:32:13: Warning: Setter not found: 'staticConstant'.
-//     use(Foo.staticConstant++);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:35:9: Warning: Setter not found: 'staticFunction'.
-//     Foo.staticFunction++;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:36:13: Warning: Setter not found: 'staticFunction'.
-//     use(Foo.staticFunction++);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:37:9: Warning: Setter not found: 'staticGetter'.
-//     Foo.staticGetter++;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:38:13: Warning: Setter not found: 'staticGetter'.
-//     use(Foo.staticGetter++);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:39:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter++;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:40:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter++);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:42:11: Warning: Setter not found: 'staticConstant'.
-//     ++Foo.staticConstant;
-//           ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:43:15: Warning: Setter not found: 'staticConstant'.
-//     use(++Foo.staticConstant);
-//               ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:46:11: Warning: Setter not found: 'staticFunction'.
-//     ++Foo.staticFunction;
-//           ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:47:15: Warning: Setter not found: 'staticFunction'.
-//     use(++Foo.staticFunction);
-//               ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:48:11: Warning: Setter not found: 'staticGetter'.
-//     ++Foo.staticGetter;
-//           ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:49:15: Warning: Setter not found: 'staticGetter'.
-//     use(++Foo.staticGetter);
-//               ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:50:11: Warning: Getter not found: 'staticSetter'.
-//     ++Foo.staticSetter;
-//           ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:51:15: Warning: Getter not found: 'staticSetter'.
-//     use(++Foo.staticSetter);
-//               ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:61:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter();
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:62:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter());
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:64:9: Warning: Setter not found: 'staticConstant'.
-//     Foo.staticConstant = 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:65:13: Warning: Setter not found: 'staticConstant'.
-//     use(Foo.staticConstant = 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:68:9: Warning: Setter not found: 'staticFunction'.
-//     Foo.staticFunction = 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:69:13: Warning: Setter not found: 'staticFunction'.
-//     use(Foo.staticFunction = 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:70:9: Warning: Setter not found: 'staticGetter'.
-//     Foo.staticGetter = 87;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:71:13: Warning: Setter not found: 'staticGetter'.
-//     use(Foo.staticGetter = 87);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:75:9: Warning: Setter not found: 'staticConstant'.
-//     Foo.staticConstant ??= 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:76:13: Warning: Setter not found: 'staticConstant'.
-//     use(Foo.staticConstant ??= 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:79:9: Warning: Setter not found: 'staticFunction'.
-//     Foo.staticFunction ??= 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:80:13: Warning: Setter not found: 'staticFunction'.
-//     use(Foo.staticFunction ??= 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:81:9: Warning: Setter not found: 'staticGetter'.
-//     Foo.staticGetter ??= 87;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:82:13: Warning: Setter not found: 'staticGetter'.
-//     use(Foo.staticGetter ??= 87);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:83:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter ??= 87;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:84:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter ??= 87);
-//             ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  static const field dynamic staticConstant = #C1;
-  static field dynamic staticField = 42;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  static method staticFunction() → dynamic {}
-  static get staticGetter() → dynamic
-    return null;
-  static set staticSetter(dynamic _) → void {}
-}
-static method use(dynamic x) → dynamic {
-  if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
-    throw "Shouldn't happen";
-}
-static method main() → dynamic {
-  try {
-    #C1;
-    self::use(#C1);
-    self::Foo::staticField;
-    self::use(self::Foo::staticField);
-    #C2;
-    self::use(#C2);
-    self::Foo::staticGetter;
-    self::use(self::Foo::staticGetter);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C1).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(let final dynamic #t1 = #C1 in let final dynamic #t2 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[#t1.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t1);
-    self::Foo::staticField = self::Foo::staticField.+(1);
-    self::use(let final dynamic #t3 = self::Foo::staticField in let final dynamic #t4 = self::Foo::staticField = #t3.+(1) in #t3);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C2).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(let final dynamic #t5 = #C2 in let final dynamic #t6 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[#t5.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t5);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[self::Foo::staticGetter.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(let final dynamic #t7 = self::Foo::staticGetter in let final dynamic #t8 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[#t7.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t7);
-    self::Foo::staticSetter = (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).+(1);
-    self::use(let final dynamic #t9 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in let final dynamic #t10 = self::Foo::staticSetter = #t9.+(1) in #t9);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C1).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C1).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticField = self::Foo::staticField.+(1);
-    self::use(self::Foo::staticField = self::Foo::staticField.+(1));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C2).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C2).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[self::Foo::staticGetter.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[self::Foo::staticGetter.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticSetter = (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).+(1);
-    self::use(self::Foo::staticSetter = (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).+(1));
-    (#C1).call();
-    self::use((#C1).call());
-    self::Foo::staticField.call();
-    self::use(self::Foo::staticField.call());
-    self::Foo::staticFunction();
-    self::use(self::Foo::staticFunction());
-    self::Foo::staticGetter.call();
-    self::use(self::Foo::staticGetter.call());
-    (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).call();
-    self::use((throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).call());
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticField = 87;
-    self::use(self::Foo::staticField = 87);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticSetter = 87;
-    self::use(self::Foo::staticSetter = 87);
-    (#C1).==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : null;
-    self::use(let final dynamic #t11 = #C1 in #t11.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : #t11);
-    self::Foo::staticField.==(null) ? self::Foo::staticField = 87 : null;
-    self::use(let final dynamic #t12 = self::Foo::staticField in #t12.==(null) ? self::Foo::staticField = 87 : #t12);
-    (#C2).==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : null;
-    self::use(let final dynamic #t13 = #C2 in #t13.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : #t13);
-    self::Foo::staticGetter.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : null;
-    self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : #t14);
-    (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).==(null) ? self::Foo::staticSetter = 87 : null;
-    self::use(let final dynamic #t15 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t15.==(null) ? self::Foo::staticSetter = 87 : #t15);
-  }
-  on core::NoSuchMethodError* catch(no-exception-var) {
-  }
-}
-
-constants  {
-  #C1 = 42
-  #C2 = tearoff self::Foo::staticFunction
-  #C3 = #staticSetter
-  #C4 = <core::Type*>[]
-  #C5 = <dynamic>[]
-  #C6 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C5}
-  #C7 = #staticConstant
-  #C8 = #staticFunction
-  #C9 = #staticGetter
-}
diff --git a/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect
deleted file mode 100644
index 4abbd71..0000000
--- a/pkg/front_end/testcases/rasta/static.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,236 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/static.dart:28:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:29:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:31:9: Warning: Setter not found: 'staticConstant'.
-//     Foo.staticConstant++;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:32:13: Warning: Setter not found: 'staticConstant'.
-//     use(Foo.staticConstant++);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:35:9: Warning: Setter not found: 'staticFunction'.
-//     Foo.staticFunction++;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:36:13: Warning: Setter not found: 'staticFunction'.
-//     use(Foo.staticFunction++);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:37:9: Warning: Setter not found: 'staticGetter'.
-//     Foo.staticGetter++;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:38:13: Warning: Setter not found: 'staticGetter'.
-//     use(Foo.staticGetter++);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:39:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter++;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:40:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter++);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:42:11: Warning: Setter not found: 'staticConstant'.
-//     ++Foo.staticConstant;
-//           ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:43:15: Warning: Setter not found: 'staticConstant'.
-//     use(++Foo.staticConstant);
-//               ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:46:11: Warning: Setter not found: 'staticFunction'.
-//     ++Foo.staticFunction;
-//           ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:47:15: Warning: Setter not found: 'staticFunction'.
-//     use(++Foo.staticFunction);
-//               ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:48:11: Warning: Setter not found: 'staticGetter'.
-//     ++Foo.staticGetter;
-//           ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:49:15: Warning: Setter not found: 'staticGetter'.
-//     use(++Foo.staticGetter);
-//               ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:50:11: Warning: Getter not found: 'staticSetter'.
-//     ++Foo.staticSetter;
-//           ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:51:15: Warning: Getter not found: 'staticSetter'.
-//     use(++Foo.staticSetter);
-//               ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:61:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter();
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:62:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter());
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:64:9: Warning: Setter not found: 'staticConstant'.
-//     Foo.staticConstant = 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:65:13: Warning: Setter not found: 'staticConstant'.
-//     use(Foo.staticConstant = 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:68:9: Warning: Setter not found: 'staticFunction'.
-//     Foo.staticFunction = 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:69:13: Warning: Setter not found: 'staticFunction'.
-//     use(Foo.staticFunction = 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:70:9: Warning: Setter not found: 'staticGetter'.
-//     Foo.staticGetter = 87;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:71:13: Warning: Setter not found: 'staticGetter'.
-//     use(Foo.staticGetter = 87);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:75:9: Warning: Setter not found: 'staticConstant'.
-//     Foo.staticConstant ??= 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:76:13: Warning: Setter not found: 'staticConstant'.
-//     use(Foo.staticConstant ??= 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:79:9: Warning: Setter not found: 'staticFunction'.
-//     Foo.staticFunction ??= 87;
-//         ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:80:13: Warning: Setter not found: 'staticFunction'.
-//     use(Foo.staticFunction ??= 87);
-//             ^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:81:9: Warning: Setter not found: 'staticGetter'.
-//     Foo.staticGetter ??= 87;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:82:13: Warning: Setter not found: 'staticGetter'.
-//     use(Foo.staticGetter ??= 87);
-//             ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:83:9: Warning: Getter not found: 'staticSetter'.
-//     Foo.staticSetter ??= 87;
-//         ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/static.dart:84:13: Warning: Getter not found: 'staticSetter'.
-//     use(Foo.staticSetter ??= 87);
-//             ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  static const field dynamic staticConstant = #C1;
-  static field dynamic staticField = 42;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  static method staticFunction() → dynamic {}
-  static get staticGetter() → dynamic
-    return null;
-  static set staticSetter(dynamic _) → void {}
-}
-static method use(dynamic x) → dynamic {
-  if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
-    throw "Shouldn't happen";
-}
-static method main() → dynamic {
-  try {
-    #C1;
-    self::use(#C1);
-    self::Foo::staticField;
-    self::use(self::Foo::staticField);
-    #C2;
-    self::use(#C2);
-    self::Foo::staticGetter;
-    self::use(self::Foo::staticGetter);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C1).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(let final dynamic #t1 = #C1 in let final dynamic #t2 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[#t1.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t1);
-    self::Foo::staticField = self::Foo::staticField.+(1);
-    self::use(let final dynamic #t3 = self::Foo::staticField in let final dynamic #t4 = self::Foo::staticField = #t3.+(1) in #t3);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C2).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(let final dynamic #t5 = #C2 in let final dynamic #t6 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[#t5.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t5);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[self::Foo::staticGetter.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(let final dynamic #t7 = self::Foo::staticGetter in let final dynamic #t8 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[#t7.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t7);
-    self::Foo::staticSetter = (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).+(1);
-    self::use(let final dynamic #t9 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in let final dynamic #t10 = self::Foo::staticSetter = #t9.+(1) in #t9);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C1).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C1).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticField = self::Foo::staticField.+(1);
-    self::use(self::Foo::staticField = self::Foo::staticField.+(1));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C2).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[(#C2).+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[self::Foo::staticGetter.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[self::Foo::staticGetter.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticSetter = (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).+(1);
-    self::use(self::Foo::staticSetter = (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).+(1));
-    (#C1).call();
-    self::use((#C1).call());
-    self::Foo::staticField.call();
-    self::use(self::Foo::staticField.call());
-    self::Foo::staticFunction();
-    self::use(self::Foo::staticFunction());
-    self::Foo::staticGetter.call();
-    self::use(self::Foo::staticGetter.call());
-    (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).call();
-    self::use((throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).call());
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticField = 87;
-    self::use(self::Foo::staticField = 87);
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))));
-    self::Foo::staticSetter = 87;
-    self::use(self::Foo::staticSetter = 87);
-    (#C1).==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : null;
-    self::use(let final dynamic #t11 = #C1 in #t11.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C7, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : #t11);
-    self::Foo::staticField.==(null) ? self::Foo::staticField = 87 : null;
-    self::use(let final dynamic #t12 = self::Foo::staticField in #t12.==(null) ? self::Foo::staticField = 87 : #t12);
-    (#C2).==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : null;
-    self::use(let final dynamic #t13 = #C2 in #t13.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C8, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : #t13);
-    self::Foo::staticGetter.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : null;
-    self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C9, 34, #C4, core::List::unmodifiable<dynamic>(<dynamic>[87]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) : #t14);
-    (throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)))).==(null) ? self::Foo::staticSetter = 87 : null;
-    self::use(let final dynamic #t15 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C3, 33, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))) in #t15.==(null) ? self::Foo::staticSetter = 87 : #t15);
-  }
-  on core::NoSuchMethodError* catch(no-exception-var) {
-  }
-}
-
-constants  {
-  #C1 = 42
-  #C2 = tearoff self::Foo::staticFunction
-  #C3 = #staticSetter
-  #C4 = <core::Type*>[]
-  #C5 = <dynamic>[]
-  #C6 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C5}
-  #C7 = #staticConstant
-  #C8 = #staticFunction
-  #C9 = #staticGetter
-}
diff --git a/pkg/front_end/testcases/rasta/super.dart.legacy.expect b/pkg/front_end/testcases/rasta/super.dart.legacy.expect
deleted file mode 100644
index 81bbdff..0000000
--- a/pkg/front_end/testcases/rasta/super.dart.legacy.expect
+++ /dev/null
@@ -1,512 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/super.dart:27:7: Error: 'n' is already declared in this scope.
-//   set n(_) {}
-//       ^
-// pkg/front_end/testcases/rasta/super.dart:26:8: Context: Previous declaration of 'n'.
-//   void n() {}
-//        ^
-//
-// pkg/front_end/testcases/rasta/super.dart:43:5: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//     +super;
-//     ^
-//
-// pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     +super;
-//      ^^^^^
-//
-// pkg/front_end/testcases/rasta/super.dart:44:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//     use(+super);
-//         ^
-//
-// pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     use(+super);
-//          ^^^^^
-//
-// pkg/front_end/testcases/rasta/super.dart:62:11: Warning: Superclass has no getter named 'g'.
-//     super.g;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:63:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:83:11: Warning: Superclass has no setter named 'e'.
-//     super.e++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:84:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:85:11: Warning: Superclass has no setter named 'f'.
-//     super.f++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:86:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:87:11: Warning: Superclass has no getter named 'g'.
-//     super.g++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:88:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:95:11: Warning: Superclass has no setter named 'm'.
-//     super.m++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:96:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:108:13: Warning: Superclass has no setter named 'e'.
-//     ++super.e;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:109:17: Warning: Superclass has no setter named 'e'.
-//     use(++super.e);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:110:13: Warning: Superclass has no setter named 'f'.
-//     ++super.f;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:111:17: Warning: Superclass has no setter named 'f'.
-//     use(++super.f);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:112:13: Warning: Superclass has no getter named 'g'.
-//     ++super.g;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:113:17: Warning: Superclass has no getter named 'g'.
-//     use(++super.g);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:120:13: Warning: Superclass has no setter named 'm'.
-//     ++super.m;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:121:17: Warning: Superclass has no setter named 'm'.
-//     use(++super.m);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:137:11: Warning: Superclass has no method named 'g'.
-//     super.g();
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:138:15: Warning: Superclass has no method named 'g'.
-//     use(super.g());
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:160:11: Warning: Superclass has no setter named 'e'.
-//     super.e = 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:161:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e = 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:162:11: Warning: Superclass has no setter named 'f'.
-//     super.f = 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:163:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f = 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:172:11: Warning: Superclass has no setter named 'm'.
-//     super.m = 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:173:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m = 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:185:11: Warning: Superclass has no setter named 'e'.
-//     super.e ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:186:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:187:11: Warning: Superclass has no setter named 'f'.
-//     super.f ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:188:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:189:11: Warning: Superclass has no getter named 'g'.
-//     super.g ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:190:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:197:11: Warning: Superclass has no setter named 'm'.
-//     super.m ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:198:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:210:11: Warning: Superclass has no setter named 'e'.
-//     super.e += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:211:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:212:11: Warning: Superclass has no setter named 'f'.
-//     super.f += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:213:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:214:11: Warning: Superclass has no getter named 'g'.
-//     super.g += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:215:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:222:11: Warning: Superclass has no setter named 'm'.
-//     super.m += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:223:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:235:11: Warning: Superclass has no setter named 'e'.
-//     super.e -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:236:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:237:11: Warning: Superclass has no setter named 'f'.
-//     super.f -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:238:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:239:11: Warning: Superclass has no getter named 'g'.
-//     super.g -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:240:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:247:11: Warning: Superclass has no setter named 'm'.
-//     super.m -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:248:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:11:9: Error: Final field 'f' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final f;
-//         ^
-//
-// pkg/front_end/testcases/rasta/super.dart:33:9: Error: Final field 'd' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final d;
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic a = null;
-  field dynamic b = null;
-  field dynamic c = null;
-  field dynamic d = null;
-  final field dynamic f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get e() → dynamic
-    return null;
-  set g(dynamic _) → void {}
-  get h() → dynamic
-    return null;
-  set h(dynamic _) → void {}
-  get i() → dynamic
-    return null;
-  operator [](dynamic _) → dynamic
-    return null;
-  operator []=(dynamic a, dynamic b) → void {}
-  operator ~() → dynamic
-    return 117;
-  operator unary-() → dynamic
-    return 117;
-  operator ==(dynamic other) → core::bool*
-    return true;
-  method m() → void {}
-  method n() → void {}
-  set n(dynamic _) → void {}
-}
-class B extends self::A {
-  final field dynamic d = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get b() → dynamic
-    return null;
-  set c(dynamic x) → void {}
-  set i(dynamic x) → void {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method test() → dynamic {
-    super.{self::A::~}();
-    self::use(super.{self::A::~}());
-    super.{self::A::unary-}();
-    self::use(super.{self::A::unary-}());
-    invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:5: Error: This couldn't be parsed.
-    +super;
-    ^".+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    +super;
-     ^^^^^");
-    self::use(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:9: Error: This couldn't be parsed.
-    use(+super);
-        ^".+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    use(+super);
-         ^^^^^"));
-    super.{self::A::==}(87);
-    self::use(super.{self::A::==}(87));
-    !super.{self::A::==}(87);
-    self::use(!super.{self::A::==}(87));
-    super.{self::A::a};
-    self::use(super.{self::A::a});
-    super.{self::B::b};
-    self::use(super.{self::B::b});
-    super.{self::A::c};
-    self::use(super.{self::A::c});
-    super.{self::B::d};
-    self::use(super.{self::B::d});
-    super.{self::A::e};
-    self::use(super.{self::A::e});
-    super.{self::A::f};
-    self::use(super.{self::A::f});
-    super.g;
-    self::use(super.g);
-    super.{self::A::h};
-    self::use(super.{self::A::h});
-    super.{self::A::i};
-    self::use(super.{self::A::i});
-    super.{self::A::[]}(87);
-    self::use(super.{self::A::[]}(87));
-    super.{self::A::m};
-    self::use(super.{self::A::m});
-    super.{self::A::n};
-    self::use(super.{self::A::n});
-    super.{self::A::a} = super.{self::A::a}.+(1);
-    self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t2 = super.{self::A::a} = #t1.+(1) in #t1);
-    super.{self::A::b} = super.{self::B::b}.+(1);
-    self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t4 = super.{self::A::b} = #t3.+(1) in #t3);
-    super.{self::B::c} = super.{self::A::c}.+(1);
-    self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t6 = super.{self::B::c} = #t5.+(1) in #t5);
-    super.{self::A::d} = super.{self::B::d}.+(1);
-    self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t8 = super.{self::A::d} = #t7.+(1) in #t7);
-    super.e = super.{self::A::e}.+(1);
-    self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t10 = super.e = #t9.+(1) in #t9);
-    super.f = super.{self::A::f}.+(1);
-    self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #t12 = super.f = #t11.+(1) in #t11);
-    super.{self::A::g} = super.g.+(1);
-    self::use(let final dynamic #t13 = super.g in let final dynamic #t14 = super.{self::A::g} = #t13.+(1) in #t13);
-    super.{self::A::h} = super.{self::A::h}.+(1);
-    self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15.+(1) in #t15);
-    super.{self::B::i} = super.{self::A::i}.+(1);
-    self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17.+(1) in #t17);
-    let final dynamic #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19).+(1));
-    self::use(let final dynamic #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final dynamic #t22 = super.{self::A::[]=}(#t20, #t21.+(1)) in #t21);
-    super.m = super.{self::A::m}.+(1);
-    self::use(let final dynamic #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = #t23.+(1) in #t23);
-    super.{self::A::n} = super.{self::A::n}.+(1);
-    self::use(let final dynamic #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = #t25.+(1) in #t25);
-    super.{self::A::a} = super.{self::A::a}.+(1);
-    self::use(super.{self::A::a} = super.{self::A::a}.+(1));
-    super.{self::A::b} = super.{self::B::b}.+(1);
-    self::use(super.{self::A::b} = super.{self::B::b}.+(1));
-    super.{self::B::c} = super.{self::A::c}.+(1);
-    self::use(super.{self::B::c} = super.{self::A::c}.+(1));
-    super.{self::A::d} = super.{self::B::d}.+(1);
-    self::use(super.{self::A::d} = super.{self::B::d}.+(1));
-    super.e = super.{self::A::e}.+(1);
-    self::use(super.e = super.{self::A::e}.+(1));
-    super.f = super.{self::A::f}.+(1);
-    self::use(super.f = super.{self::A::f}.+(1));
-    super.{self::A::g} = super.g.+(1);
-    self::use(super.{self::A::g} = super.g.+(1));
-    super.{self::A::h} = super.{self::A::h}.+(1);
-    self::use(super.{self::A::h} = super.{self::A::h}.+(1));
-    super.{self::B::i} = super.{self::A::i}.+(1);
-    self::use(super.{self::B::i} = super.{self::A::i}.+(1));
-    let final dynamic #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27).+(1) in let final dynamic #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
-    self::use(let final dynamic #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30).+(1) in let final dynamic #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
-    super.m = super.{self::A::m}.+(1);
-    self::use(super.m = super.{self::A::m}.+(1));
-    super.{self::A::n} = super.{self::A::n}.+(1);
-    self::use(super.{self::A::n} = super.{self::A::n}.+(1));
-    super.{self::A::a}.call();
-    self::use(super.{self::A::a}.call());
-    super.{self::B::b}.call();
-    self::use(super.{self::B::b}.call());
-    super.{self::A::c}.call();
-    self::use(super.{self::A::c}.call());
-    super.{self::B::d}.call();
-    self::use(super.{self::B::d}.call());
-    super.{self::A::e}.call();
-    self::use(super.{self::A::e}.call());
-    super.{self::A::f}.call();
-    self::use(super.{self::A::f}.call());
-    super.g();
-    self::use(super.g());
-    super.{self::A::h}.call();
-    self::use(super.{self::A::h}.call());
-    super.{self::A::i}.call();
-    self::use(super.{self::A::i}.call());
-    super.{self::A::[]}(87).call();
-    self::use(super.{self::A::[]}(87).call());
-    super.{self::A::m}();
-    self::use(super.{self::A::m}());
-    super.{self::A::m}(87);
-    self::use(super.{self::A::m}(87));
-    super.{self::A::n}(87);
-    self::use(super.{self::A::n}(87));
-    super.{self::A::a} = 42;
-    self::use(super.{self::A::a} = 42);
-    super.{self::A::b} = 42;
-    self::use(super.{self::A::b} = 42);
-    super.{self::B::c} = 42;
-    self::use(super.{self::B::c} = 42);
-    super.{self::A::d} = 42;
-    self::use(super.{self::A::d} = 42);
-    super.e = 42;
-    self::use(super.e = 42);
-    super.f = 42;
-    self::use(super.f = 42);
-    super.{self::A::g} = 42;
-    self::use(super.{self::A::g} = 42);
-    super.{self::A::h} = 42;
-    self::use(super.{self::A::h} = 42);
-    super.{self::B::i} = 42;
-    self::use(super.{self::B::i} = 42);
-    super.{self::A::[]=}(87, 42);
-    self::use(let final dynamic #t33 = 87 in let final dynamic #t34 = 42 in let final dynamic #t35 = super.{self::A::[]=}(#t33, #t34) in #t34);
-    super.m = 42;
-    self::use(super.m = 42);
-    super.{self::A::n} = 42;
-    self::use(super.{self::A::n} = 42);
-    super.{self::A::a}.==(null) ? super.{self::A::a} = 42 : null;
-    self::use(let final dynamic #t36 = super.{self::A::a} in #t36.==(null) ? super.{self::A::a} = 42 : #t36);
-    super.{self::B::b}.==(null) ? super.{self::A::b} = 42 : null;
-    self::use(let final dynamic #t37 = super.{self::B::b} in #t37.==(null) ? super.{self::A::b} = 42 : #t37);
-    super.{self::A::c}.==(null) ? super.{self::B::c} = 42 : null;
-    self::use(let final dynamic #t38 = super.{self::A::c} in #t38.==(null) ? super.{self::B::c} = 42 : #t38);
-    super.{self::B::d}.==(null) ? super.{self::A::d} = 42 : null;
-    self::use(let final dynamic #t39 = super.{self::B::d} in #t39.==(null) ? super.{self::A::d} = 42 : #t39);
-    super.{self::A::e}.==(null) ? super.e = 42 : null;
-    self::use(let final dynamic #t40 = super.{self::A::e} in #t40.==(null) ? super.e = 42 : #t40);
-    super.{self::A::f}.==(null) ? super.f = 42 : null;
-    self::use(let final dynamic #t41 = super.{self::A::f} in #t41.==(null) ? super.f = 42 : #t41);
-    super.g.==(null) ? super.{self::A::g} = 42 : null;
-    self::use(let final dynamic #t42 = super.g in #t42.==(null) ? super.{self::A::g} = 42 : #t42);
-    super.{self::A::h}.==(null) ? super.{self::A::h} = 42 : null;
-    self::use(let final dynamic #t43 = super.{self::A::h} in #t43.==(null) ? super.{self::A::h} = 42 : #t43);
-    super.{self::A::i}.==(null) ? super.{self::B::i} = 42 : null;
-    self::use(let final dynamic #t44 = super.{self::A::i} in #t44.==(null) ? super.{self::B::i} = 42 : #t44);
-    let final dynamic #t45 = 87 in super.{self::A::[]}(#t45).==(null) ? let final dynamic #t46 = 42 in let final dynamic #t47 = super.{self::A::[]=}(#t45, #t46) in #t46 : null;
-    self::use(let final dynamic #t48 = 87 in let final dynamic #t49 = super.{self::A::[]}(#t48) in #t49.==(null) ? let final dynamic #t50 = 42 in let final dynamic #t51 = super.{self::A::[]=}(#t48, #t50) in #t50 : #t49);
-    super.{self::A::m}.==(null) ? super.m = 42 : null;
-    self::use(let final dynamic #t52 = super.{self::A::m} in #t52.==(null) ? super.m = 42 : #t52);
-    super.{self::A::n}.==(null) ? super.{self::A::n} = 42 : null;
-    self::use(let final dynamic #t53 = super.{self::A::n} in #t53.==(null) ? super.{self::A::n} = 42 : #t53);
-    super.{self::A::a} = super.{self::A::a}.+(42);
-    self::use(super.{self::A::a} = super.{self::A::a}.+(42));
-    super.{self::A::b} = super.{self::B::b}.+(42);
-    self::use(super.{self::A::b} = super.{self::B::b}.+(42));
-    super.{self::B::c} = super.{self::A::c}.+(42);
-    self::use(super.{self::B::c} = super.{self::A::c}.+(42));
-    super.{self::A::d} = super.{self::B::d}.+(42);
-    self::use(super.{self::A::d} = super.{self::B::d}.+(42));
-    super.e = super.{self::A::e}.+(42);
-    self::use(super.e = super.{self::A::e}.+(42));
-    super.f = super.{self::A::f}.+(42);
-    self::use(super.f = super.{self::A::f}.+(42));
-    super.{self::A::g} = super.g.+(42);
-    self::use(super.{self::A::g} = super.g.+(42));
-    super.{self::A::h} = super.{self::A::h}.+(42);
-    self::use(super.{self::A::h} = super.{self::A::h}.+(42));
-    super.{self::B::i} = super.{self::A::i}.+(42);
-    self::use(super.{self::B::i} = super.{self::A::i}.+(42));
-    let final dynamic #t54 = 87 in super.{self::A::[]=}(#t54, super.{self::A::[]}(#t54).+(42));
-    self::use(let final dynamic #t55 = 87 in let final dynamic #t56 = super.{self::A::[]}(#t55).+(42) in let final dynamic #t57 = super.{self::A::[]=}(#t55, #t56) in #t56);
-    super.m = super.{self::A::m}.+(42);
-    self::use(super.m = super.{self::A::m}.+(42));
-    super.{self::A::n} = super.{self::A::n}.+(42);
-    self::use(super.{self::A::n} = super.{self::A::n}.+(42));
-    super.{self::A::a} = super.{self::A::a}.-(42);
-    self::use(super.{self::A::a} = super.{self::A::a}.-(42));
-    super.{self::A::b} = super.{self::B::b}.-(42);
-    self::use(super.{self::A::b} = super.{self::B::b}.-(42));
-    super.{self::B::c} = super.{self::A::c}.-(42);
-    self::use(super.{self::B::c} = super.{self::A::c}.-(42));
-    super.{self::A::d} = super.{self::B::d}.-(42);
-    self::use(super.{self::A::d} = super.{self::B::d}.-(42));
-    super.e = super.{self::A::e}.-(42);
-    self::use(super.e = super.{self::A::e}.-(42));
-    super.f = super.{self::A::f}.-(42);
-    self::use(super.f = super.{self::A::f}.-(42));
-    super.{self::A::g} = super.g.-(42);
-    self::use(super.{self::A::g} = super.g.-(42));
-    super.{self::A::h} = super.{self::A::h}.-(42);
-    self::use(super.{self::A::h} = super.{self::A::h}.-(42));
-    super.{self::B::i} = super.{self::A::i}.-(42);
-    self::use(super.{self::B::i} = super.{self::A::i}.-(42));
-    let final dynamic #t58 = 87 in super.{self::A::[]=}(#t58, super.{self::A::[]}(#t58).-(42));
-    self::use(let final dynamic #t59 = 87 in let final dynamic #t60 = super.{self::A::[]}(#t59).-(42) in let final dynamic #t61 = super.{self::A::[]=}(#t59, #t60) in #t60);
-    super.m = super.{self::A::m}.-(42);
-    self::use(super.m = super.{self::A::m}.-(42));
-    super.{self::A::n} = super.{self::A::n}.-(42);
-    self::use(super.{self::A::n} = super.{self::A::n}.-(42));
-  }
-}
-static method use(dynamic x) → dynamic {
-  if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
-    throw "Shouldn't happen";
-}
-static method main() → dynamic {
-  new self::C::•().test();
-}
diff --git a/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect
deleted file mode 100644
index 81bbdff..0000000
--- a/pkg/front_end/testcases/rasta/super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,512 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/super.dart:27:7: Error: 'n' is already declared in this scope.
-//   set n(_) {}
-//       ^
-// pkg/front_end/testcases/rasta/super.dart:26:8: Context: Previous declaration of 'n'.
-//   void n() {}
-//        ^
-//
-// pkg/front_end/testcases/rasta/super.dart:43:5: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//     +super;
-//     ^
-//
-// pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     +super;
-//      ^^^^^
-//
-// pkg/front_end/testcases/rasta/super.dart:44:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//     use(+super);
-//         ^
-//
-// pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//     use(+super);
-//          ^^^^^
-//
-// pkg/front_end/testcases/rasta/super.dart:62:11: Warning: Superclass has no getter named 'g'.
-//     super.g;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:63:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:83:11: Warning: Superclass has no setter named 'e'.
-//     super.e++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:84:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:85:11: Warning: Superclass has no setter named 'f'.
-//     super.f++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:86:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:87:11: Warning: Superclass has no getter named 'g'.
-//     super.g++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:88:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:95:11: Warning: Superclass has no setter named 'm'.
-//     super.m++;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:96:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m++);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:108:13: Warning: Superclass has no setter named 'e'.
-//     ++super.e;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:109:17: Warning: Superclass has no setter named 'e'.
-//     use(++super.e);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:110:13: Warning: Superclass has no setter named 'f'.
-//     ++super.f;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:111:17: Warning: Superclass has no setter named 'f'.
-//     use(++super.f);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:112:13: Warning: Superclass has no getter named 'g'.
-//     ++super.g;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:113:17: Warning: Superclass has no getter named 'g'.
-//     use(++super.g);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:120:13: Warning: Superclass has no setter named 'm'.
-//     ++super.m;
-//             ^
-//
-// pkg/front_end/testcases/rasta/super.dart:121:17: Warning: Superclass has no setter named 'm'.
-//     use(++super.m);
-//                 ^
-//
-// pkg/front_end/testcases/rasta/super.dart:137:11: Warning: Superclass has no method named 'g'.
-//     super.g();
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:138:15: Warning: Superclass has no method named 'g'.
-//     use(super.g());
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:160:11: Warning: Superclass has no setter named 'e'.
-//     super.e = 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:161:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e = 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:162:11: Warning: Superclass has no setter named 'f'.
-//     super.f = 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:163:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f = 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:172:11: Warning: Superclass has no setter named 'm'.
-//     super.m = 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:173:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m = 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:185:11: Warning: Superclass has no setter named 'e'.
-//     super.e ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:186:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:187:11: Warning: Superclass has no setter named 'f'.
-//     super.f ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:188:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:189:11: Warning: Superclass has no getter named 'g'.
-//     super.g ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:190:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:197:11: Warning: Superclass has no setter named 'm'.
-//     super.m ??= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:198:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m ??= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:210:11: Warning: Superclass has no setter named 'e'.
-//     super.e += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:211:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:212:11: Warning: Superclass has no setter named 'f'.
-//     super.f += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:213:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:214:11: Warning: Superclass has no getter named 'g'.
-//     super.g += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:215:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:222:11: Warning: Superclass has no setter named 'm'.
-//     super.m += 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:223:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m += 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:235:11: Warning: Superclass has no setter named 'e'.
-//     super.e -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:236:15: Warning: Superclass has no setter named 'e'.
-//     use(super.e -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:237:11: Warning: Superclass has no setter named 'f'.
-//     super.f -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:238:15: Warning: Superclass has no setter named 'f'.
-//     use(super.f -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:239:11: Warning: Superclass has no getter named 'g'.
-//     super.g -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:240:15: Warning: Superclass has no getter named 'g'.
-//     use(super.g -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:247:11: Warning: Superclass has no setter named 'm'.
-//     super.m -= 42;
-//           ^
-//
-// pkg/front_end/testcases/rasta/super.dart:248:15: Warning: Superclass has no setter named 'm'.
-//     use(super.m -= 42);
-//               ^
-//
-// pkg/front_end/testcases/rasta/super.dart:11:9: Error: Final field 'f' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final f;
-//         ^
-//
-// pkg/front_end/testcases/rasta/super.dart:33:9: Error: Final field 'd' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final d;
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic a = null;
-  field dynamic b = null;
-  field dynamic c = null;
-  field dynamic d = null;
-  final field dynamic f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get e() → dynamic
-    return null;
-  set g(dynamic _) → void {}
-  get h() → dynamic
-    return null;
-  set h(dynamic _) → void {}
-  get i() → dynamic
-    return null;
-  operator [](dynamic _) → dynamic
-    return null;
-  operator []=(dynamic a, dynamic b) → void {}
-  operator ~() → dynamic
-    return 117;
-  operator unary-() → dynamic
-    return 117;
-  operator ==(dynamic other) → core::bool*
-    return true;
-  method m() → void {}
-  method n() → void {}
-  set n(dynamic _) → void {}
-}
-class B extends self::A {
-  final field dynamic d = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  get b() → dynamic
-    return null;
-  set c(dynamic x) → void {}
-  set i(dynamic x) → void {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method test() → dynamic {
-    super.{self::A::~}();
-    self::use(super.{self::A::~}());
-    super.{self::A::unary-}();
-    self::use(super.{self::A::unary-}());
-    invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:5: Error: This couldn't be parsed.
-    +super;
-    ^".+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    +super;
-     ^^^^^");
-    self::use(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:9: Error: This couldn't be parsed.
-    use(+super);
-        ^".+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-    use(+super);
-         ^^^^^"));
-    super.{self::A::==}(87);
-    self::use(super.{self::A::==}(87));
-    !super.{self::A::==}(87);
-    self::use(!super.{self::A::==}(87));
-    super.{self::A::a};
-    self::use(super.{self::A::a});
-    super.{self::B::b};
-    self::use(super.{self::B::b});
-    super.{self::A::c};
-    self::use(super.{self::A::c});
-    super.{self::B::d};
-    self::use(super.{self::B::d});
-    super.{self::A::e};
-    self::use(super.{self::A::e});
-    super.{self::A::f};
-    self::use(super.{self::A::f});
-    super.g;
-    self::use(super.g);
-    super.{self::A::h};
-    self::use(super.{self::A::h});
-    super.{self::A::i};
-    self::use(super.{self::A::i});
-    super.{self::A::[]}(87);
-    self::use(super.{self::A::[]}(87));
-    super.{self::A::m};
-    self::use(super.{self::A::m});
-    super.{self::A::n};
-    self::use(super.{self::A::n});
-    super.{self::A::a} = super.{self::A::a}.+(1);
-    self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t2 = super.{self::A::a} = #t1.+(1) in #t1);
-    super.{self::A::b} = super.{self::B::b}.+(1);
-    self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t4 = super.{self::A::b} = #t3.+(1) in #t3);
-    super.{self::B::c} = super.{self::A::c}.+(1);
-    self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t6 = super.{self::B::c} = #t5.+(1) in #t5);
-    super.{self::A::d} = super.{self::B::d}.+(1);
-    self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t8 = super.{self::A::d} = #t7.+(1) in #t7);
-    super.e = super.{self::A::e}.+(1);
-    self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t10 = super.e = #t9.+(1) in #t9);
-    super.f = super.{self::A::f}.+(1);
-    self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #t12 = super.f = #t11.+(1) in #t11);
-    super.{self::A::g} = super.g.+(1);
-    self::use(let final dynamic #t13 = super.g in let final dynamic #t14 = super.{self::A::g} = #t13.+(1) in #t13);
-    super.{self::A::h} = super.{self::A::h}.+(1);
-    self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15.+(1) in #t15);
-    super.{self::B::i} = super.{self::A::i}.+(1);
-    self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17.+(1) in #t17);
-    let final dynamic #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19).+(1));
-    self::use(let final dynamic #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final dynamic #t22 = super.{self::A::[]=}(#t20, #t21.+(1)) in #t21);
-    super.m = super.{self::A::m}.+(1);
-    self::use(let final dynamic #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = #t23.+(1) in #t23);
-    super.{self::A::n} = super.{self::A::n}.+(1);
-    self::use(let final dynamic #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = #t25.+(1) in #t25);
-    super.{self::A::a} = super.{self::A::a}.+(1);
-    self::use(super.{self::A::a} = super.{self::A::a}.+(1));
-    super.{self::A::b} = super.{self::B::b}.+(1);
-    self::use(super.{self::A::b} = super.{self::B::b}.+(1));
-    super.{self::B::c} = super.{self::A::c}.+(1);
-    self::use(super.{self::B::c} = super.{self::A::c}.+(1));
-    super.{self::A::d} = super.{self::B::d}.+(1);
-    self::use(super.{self::A::d} = super.{self::B::d}.+(1));
-    super.e = super.{self::A::e}.+(1);
-    self::use(super.e = super.{self::A::e}.+(1));
-    super.f = super.{self::A::f}.+(1);
-    self::use(super.f = super.{self::A::f}.+(1));
-    super.{self::A::g} = super.g.+(1);
-    self::use(super.{self::A::g} = super.g.+(1));
-    super.{self::A::h} = super.{self::A::h}.+(1);
-    self::use(super.{self::A::h} = super.{self::A::h}.+(1));
-    super.{self::B::i} = super.{self::A::i}.+(1);
-    self::use(super.{self::B::i} = super.{self::A::i}.+(1));
-    let final dynamic #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27).+(1) in let final dynamic #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
-    self::use(let final dynamic #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30).+(1) in let final dynamic #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
-    super.m = super.{self::A::m}.+(1);
-    self::use(super.m = super.{self::A::m}.+(1));
-    super.{self::A::n} = super.{self::A::n}.+(1);
-    self::use(super.{self::A::n} = super.{self::A::n}.+(1));
-    super.{self::A::a}.call();
-    self::use(super.{self::A::a}.call());
-    super.{self::B::b}.call();
-    self::use(super.{self::B::b}.call());
-    super.{self::A::c}.call();
-    self::use(super.{self::A::c}.call());
-    super.{self::B::d}.call();
-    self::use(super.{self::B::d}.call());
-    super.{self::A::e}.call();
-    self::use(super.{self::A::e}.call());
-    super.{self::A::f}.call();
-    self::use(super.{self::A::f}.call());
-    super.g();
-    self::use(super.g());
-    super.{self::A::h}.call();
-    self::use(super.{self::A::h}.call());
-    super.{self::A::i}.call();
-    self::use(super.{self::A::i}.call());
-    super.{self::A::[]}(87).call();
-    self::use(super.{self::A::[]}(87).call());
-    super.{self::A::m}();
-    self::use(super.{self::A::m}());
-    super.{self::A::m}(87);
-    self::use(super.{self::A::m}(87));
-    super.{self::A::n}(87);
-    self::use(super.{self::A::n}(87));
-    super.{self::A::a} = 42;
-    self::use(super.{self::A::a} = 42);
-    super.{self::A::b} = 42;
-    self::use(super.{self::A::b} = 42);
-    super.{self::B::c} = 42;
-    self::use(super.{self::B::c} = 42);
-    super.{self::A::d} = 42;
-    self::use(super.{self::A::d} = 42);
-    super.e = 42;
-    self::use(super.e = 42);
-    super.f = 42;
-    self::use(super.f = 42);
-    super.{self::A::g} = 42;
-    self::use(super.{self::A::g} = 42);
-    super.{self::A::h} = 42;
-    self::use(super.{self::A::h} = 42);
-    super.{self::B::i} = 42;
-    self::use(super.{self::B::i} = 42);
-    super.{self::A::[]=}(87, 42);
-    self::use(let final dynamic #t33 = 87 in let final dynamic #t34 = 42 in let final dynamic #t35 = super.{self::A::[]=}(#t33, #t34) in #t34);
-    super.m = 42;
-    self::use(super.m = 42);
-    super.{self::A::n} = 42;
-    self::use(super.{self::A::n} = 42);
-    super.{self::A::a}.==(null) ? super.{self::A::a} = 42 : null;
-    self::use(let final dynamic #t36 = super.{self::A::a} in #t36.==(null) ? super.{self::A::a} = 42 : #t36);
-    super.{self::B::b}.==(null) ? super.{self::A::b} = 42 : null;
-    self::use(let final dynamic #t37 = super.{self::B::b} in #t37.==(null) ? super.{self::A::b} = 42 : #t37);
-    super.{self::A::c}.==(null) ? super.{self::B::c} = 42 : null;
-    self::use(let final dynamic #t38 = super.{self::A::c} in #t38.==(null) ? super.{self::B::c} = 42 : #t38);
-    super.{self::B::d}.==(null) ? super.{self::A::d} = 42 : null;
-    self::use(let final dynamic #t39 = super.{self::B::d} in #t39.==(null) ? super.{self::A::d} = 42 : #t39);
-    super.{self::A::e}.==(null) ? super.e = 42 : null;
-    self::use(let final dynamic #t40 = super.{self::A::e} in #t40.==(null) ? super.e = 42 : #t40);
-    super.{self::A::f}.==(null) ? super.f = 42 : null;
-    self::use(let final dynamic #t41 = super.{self::A::f} in #t41.==(null) ? super.f = 42 : #t41);
-    super.g.==(null) ? super.{self::A::g} = 42 : null;
-    self::use(let final dynamic #t42 = super.g in #t42.==(null) ? super.{self::A::g} = 42 : #t42);
-    super.{self::A::h}.==(null) ? super.{self::A::h} = 42 : null;
-    self::use(let final dynamic #t43 = super.{self::A::h} in #t43.==(null) ? super.{self::A::h} = 42 : #t43);
-    super.{self::A::i}.==(null) ? super.{self::B::i} = 42 : null;
-    self::use(let final dynamic #t44 = super.{self::A::i} in #t44.==(null) ? super.{self::B::i} = 42 : #t44);
-    let final dynamic #t45 = 87 in super.{self::A::[]}(#t45).==(null) ? let final dynamic #t46 = 42 in let final dynamic #t47 = super.{self::A::[]=}(#t45, #t46) in #t46 : null;
-    self::use(let final dynamic #t48 = 87 in let final dynamic #t49 = super.{self::A::[]}(#t48) in #t49.==(null) ? let final dynamic #t50 = 42 in let final dynamic #t51 = super.{self::A::[]=}(#t48, #t50) in #t50 : #t49);
-    super.{self::A::m}.==(null) ? super.m = 42 : null;
-    self::use(let final dynamic #t52 = super.{self::A::m} in #t52.==(null) ? super.m = 42 : #t52);
-    super.{self::A::n}.==(null) ? super.{self::A::n} = 42 : null;
-    self::use(let final dynamic #t53 = super.{self::A::n} in #t53.==(null) ? super.{self::A::n} = 42 : #t53);
-    super.{self::A::a} = super.{self::A::a}.+(42);
-    self::use(super.{self::A::a} = super.{self::A::a}.+(42));
-    super.{self::A::b} = super.{self::B::b}.+(42);
-    self::use(super.{self::A::b} = super.{self::B::b}.+(42));
-    super.{self::B::c} = super.{self::A::c}.+(42);
-    self::use(super.{self::B::c} = super.{self::A::c}.+(42));
-    super.{self::A::d} = super.{self::B::d}.+(42);
-    self::use(super.{self::A::d} = super.{self::B::d}.+(42));
-    super.e = super.{self::A::e}.+(42);
-    self::use(super.e = super.{self::A::e}.+(42));
-    super.f = super.{self::A::f}.+(42);
-    self::use(super.f = super.{self::A::f}.+(42));
-    super.{self::A::g} = super.g.+(42);
-    self::use(super.{self::A::g} = super.g.+(42));
-    super.{self::A::h} = super.{self::A::h}.+(42);
-    self::use(super.{self::A::h} = super.{self::A::h}.+(42));
-    super.{self::B::i} = super.{self::A::i}.+(42);
-    self::use(super.{self::B::i} = super.{self::A::i}.+(42));
-    let final dynamic #t54 = 87 in super.{self::A::[]=}(#t54, super.{self::A::[]}(#t54).+(42));
-    self::use(let final dynamic #t55 = 87 in let final dynamic #t56 = super.{self::A::[]}(#t55).+(42) in let final dynamic #t57 = super.{self::A::[]=}(#t55, #t56) in #t56);
-    super.m = super.{self::A::m}.+(42);
-    self::use(super.m = super.{self::A::m}.+(42));
-    super.{self::A::n} = super.{self::A::n}.+(42);
-    self::use(super.{self::A::n} = super.{self::A::n}.+(42));
-    super.{self::A::a} = super.{self::A::a}.-(42);
-    self::use(super.{self::A::a} = super.{self::A::a}.-(42));
-    super.{self::A::b} = super.{self::B::b}.-(42);
-    self::use(super.{self::A::b} = super.{self::B::b}.-(42));
-    super.{self::B::c} = super.{self::A::c}.-(42);
-    self::use(super.{self::B::c} = super.{self::A::c}.-(42));
-    super.{self::A::d} = super.{self::B::d}.-(42);
-    self::use(super.{self::A::d} = super.{self::B::d}.-(42));
-    super.e = super.{self::A::e}.-(42);
-    self::use(super.e = super.{self::A::e}.-(42));
-    super.f = super.{self::A::f}.-(42);
-    self::use(super.f = super.{self::A::f}.-(42));
-    super.{self::A::g} = super.g.-(42);
-    self::use(super.{self::A::g} = super.g.-(42));
-    super.{self::A::h} = super.{self::A::h}.-(42);
-    self::use(super.{self::A::h} = super.{self::A::h}.-(42));
-    super.{self::B::i} = super.{self::A::i}.-(42);
-    self::use(super.{self::B::i} = super.{self::A::i}.-(42));
-    let final dynamic #t58 = 87 in super.{self::A::[]=}(#t58, super.{self::A::[]}(#t58).-(42));
-    self::use(let final dynamic #t59 = 87 in let final dynamic #t60 = super.{self::A::[]}(#t59).-(42) in let final dynamic #t61 = super.{self::A::[]=}(#t59, #t60) in #t60);
-    super.m = super.{self::A::m}.-(42);
-    self::use(super.m = super.{self::A::m}.-(42));
-    super.{self::A::n} = super.{self::A::n}.-(42);
-    self::use(super.{self::A::n} = super.{self::A::n}.-(42));
-  }
-}
-static method use(dynamic x) → dynamic {
-  if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
-    throw "Shouldn't happen";
-}
-static method main() → dynamic {
-  new self::C::•().test();
-}
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.legacy.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.legacy.expect
deleted file mode 100644
index 4e61944..0000000
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  constructor arg0() → void
-    : super core::Object::•()
-    ;
-  constructor arg1(dynamic a) → void
-    : super core::Object::•()
-    ;
-  constructor arg2(dynamic a, dynamic b) → void
-    : super core::Object::•()
-    ;
-}
-class Sub extends self::Super {
-  field dynamic field;
-  constructor arg0() → void
-    : self::Sub::field = 42, super self::Super::arg0()
-    ;
-  constructor arg1(dynamic a) → void
-    : final dynamic #t1 = a, self::Sub::field = 42, super self::Super::arg1(#t1)
-    ;
-  constructor arg2(dynamic a, dynamic b) → void
-    : final dynamic #t2 = a, final dynamic #t3 = b, self::Sub::field = 42, super self::Super::arg2(#t2, #t3)
-    ;
-}
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect
deleted file mode 100644
index d7c85a7..0000000
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "mixin_library.dart" as mix;
-
-import "org-dartlang-testcase:///mixin_library.dart";
-
-class Super<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Super<self::Super::S*>*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return 40;
-  method f() → dynamic
-    return 3;
-}
-abstract class _C&Super&Mixin<V extends core::Object* = dynamic> = self::Super<self::_C&Super&Mixin::V*> with mix::Mixin<self::_C&Super&Mixin::V*> {
-  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V*>*
-    : super self::Super::•()
-    ;
-}
-class C<V extends core::Object* = dynamic> extends self::_C&Super&Mixin<self::C::V*> {
-  synthetic constructor •() → self::C<self::C::V*>*
-    : super self::_C&Super&Mixin::•()
-    ;
-}
-abstract class _D&Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> {
-  synthetic constructor •() → self::_D&Super&Mixin*
-    : super self::Super::•()
-    ;
-}
-class D extends self::_D&Super&Mixin {
-  synthetic constructor •() → self::D*
-    : super self::_D&Super&Mixin::•()
-    ;
-}
-class C2<V extends core::Object* = dynamic> = self::Super<self::C2::V*> with mix::Mixin<self::C2::V*> {
-  synthetic constructor •() → self::C2<self::C2::V*>*
-    : super self::Super::•()
-    ;
-}
-class D2 = self::Super<dynamic> with mix::Mixin<dynamic> {
-  synthetic constructor •() → self::D2*
-    : super self::Super::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::C::•<dynamic>().foo());
-  core::print(new self::C2::•<dynamic>().foo());
-}
-
-library test.mixin_library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/mixin_library.dart:16:18: Warning: Superclass has no method named 'foo'.
-//   foo() => super.foo() + f();
-//                  ^^^
-//
-import self as mix;
-import "dart:core" as core;
-
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
-  field dynamic x = mix::f();
-  field dynamic y = null;
-  field dynamic z = null;
-  generic-covariant-impl field mix::Mixin::T* t = null;
-  synthetic constructor •() → mix::Mixin<mix::Mixin::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return super.foo().+(mix::f());
-  method g(generic-covariant-impl mix::Mixin::T* a) → mix::Mixin::T*
-    return null;
-  method h() → dynamic
-    return mix::V();
-  method l() → dynamic
-    return mix::_private();
-  method _privateMethod() → dynamic
-    return 49;
-  method publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}();
-}
-static method f() → dynamic
-  return 2;
-static method V() → dynamic
-  return 87;
-static method _private() → dynamic
-  return 117;
-static method foo(dynamic m) → dynamic
-  return m._privateMethod();
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect
deleted file mode 100644
index 3c08588..0000000
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,155 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "mixin_library.dart" as mix;
-
-import "org-dartlang-testcase:///mixin_library.dart";
-
-class Super<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Super<self::Super::S*>*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return 40;
-  method f() → dynamic
-    return 3;
-}
-abstract class _C&Super&Mixin<V extends core::Object* = dynamic> extends self::Super<self::_C&Super&Mixin::V*> implements mix::Mixin<self::_C&Super&Mixin::V*> {
-  field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  generic-covariant-impl field self::_C&Super&Mixin::V* t = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V*>*
-    : super self::Super::•()
-    ;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic
-    return super.foo().+(mix::f());
-  method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl self::_C&Super&Mixin::V* a) → self::_C&Super&Mixin::V*
-    return null;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic
-    return mix::V();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic
-    return mix::_private();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic
-    return 49;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}();
-}
-class C<V extends core::Object* = dynamic> extends self::_C&Super&Mixin<self::C::V*> {
-  synthetic constructor •() → self::C<self::C::V*>*
-    : super self::_C&Super&Mixin::•()
-    ;
-}
-abstract class _D&Super&Mixin extends self::Super<dynamic> implements mix::Mixin<dynamic> {
-  field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  generic-covariant-impl field dynamic t = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  synthetic constructor •() → self::_D&Super&Mixin*
-    : super self::Super::•()
-    ;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic
-    return super.foo().+(mix::f());
-  method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl dynamic a) → dynamic
-    return null;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic
-    return mix::V();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic
-    return mix::_private();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic
-    return 49;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}();
-}
-class D extends self::_D&Super&Mixin {
-  synthetic constructor •() → self::D*
-    : super self::_D&Super&Mixin::•()
-    ;
-}
-class C2<V extends core::Object* = dynamic> extends self::Super<self::C2::V*> implements mix::Mixin<self::C2::V*> {
-  field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  generic-covariant-impl field self::C2::V* t = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  synthetic constructor •() → self::C2<self::C2::V*>*
-    : super self::Super::•()
-    ;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic
-    return super.foo().+(mix::f());
-  method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl self::C2::V* a) → self::C2::V*
-    return null;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic
-    return mix::V();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic
-    return mix::_private();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic
-    return 49;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}();
-}
-class D2 extends self::Super<dynamic> implements mix::Mixin<dynamic> {
-  field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  generic-covariant-impl field dynamic t = null /* from org-dartlang-testcase:///mixin_library.dart */;
-  synthetic constructor •() → self::D2*
-    : super self::Super::•()
-    ;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic
-    return super.foo().+(mix::f());
-  method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl dynamic a) → dynamic
-    return null;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic
-    return mix::V();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic
-    return mix::_private();
-  method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic
-    return 49;
-  method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}();
-}
-static method main() → dynamic {
-  core::print(new self::C::•<dynamic>().foo());
-  core::print(new self::C2::•<dynamic>().foo());
-}
-
-library test.mixin_library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/mixin_library.dart:16:18: Warning: Superclass has no method named 'foo'.
-//   foo() => super.foo() + f();
-//                  ^^^
-//
-import self as mix;
-import "dart:core" as core;
-
-class Mixin<T extends core::Object* = dynamic> extends core::Object {
-  field dynamic x = mix::f();
-  field dynamic y = null;
-  field dynamic z = null;
-  generic-covariant-impl field mix::Mixin::T* t = null;
-  synthetic constructor •() → mix::Mixin<mix::Mixin::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return super.foo().+(mix::f());
-  method g(generic-covariant-impl mix::Mixin::T* a) → mix::Mixin::T*
-    return null;
-  method h() → dynamic
-    return mix::V();
-  method l() → dynamic
-    return mix::_private();
-  method _privateMethod() → dynamic
-    return 49;
-  method publicMethod() → dynamic
-    return this.{mix::Mixin::_privateMethod}();
-}
-static method f() → dynamic
-  return 2;
-static method V() → dynamic
-  return 87;
-static method _private() → dynamic
-  return 117;
-static method foo(dynamic m) → dynamic
-  return m._privateMethod();
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.legacy.expect b/pkg/front_end/testcases/rasta/super_operator.dart.legacy.expect
deleted file mode 100644
index 526ade7..0000000
--- a/pkg/front_end/testcases/rasta/super_operator.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  operator +(core::String s) → dynamic
-    return null;
-  operator [](dynamic i) → dynamic
-    return null;
-  operator []=(dynamic i, dynamic val) → dynamic {}
-}
-class B extends self::A {
-  synthetic constructor •() → void
-    : super self::A::•()
-    ;
-  operator +(core::String s) → dynamic
-    return super.{self::A::+}("${s}${s}");
-  operator [](dynamic i) → dynamic
-    return super.{self::A::[]}(i);
-  operator []=(dynamic i, dynamic val) → dynamic
-    return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2.+(1) in #t2 in let final dynamic #t4 = super.{self::A::[]}(#t1).+(val) in let final dynamic #t5 = super.{self::A::[]=}(#t1, #t4) in #t4;
-}
-class Autobianchi extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method g() → dynamic
-    return super.[](0);
-}
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.legacy.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.legacy.expect
deleted file mode 100644
index d2d46a3..0000000
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.legacy.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(#C1);
-}
-
-constants  {
-  #C1 = false
-}
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.legacy.transformed.expect
deleted file mode 100644
index d2d46a3..0000000
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print(#C1);
-}
-
-constants  {
-  #C1 = false
-}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.legacy.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.legacy.expect
deleted file mode 100644
index 27733bb..0000000
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.legacy.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/switch_execution_case_t02.dart:35:5: Warning: Switch case may fall through to the next case.
-//     case 2:  result = 2; /// static warning - case fall-through, see "Switch"
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_execution_case_t02.dart:36:5: Warning: Switch case may fall through to the next case.
-//     case 3:  result = 3; /// static warning - case fall-through, see "Switch"
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_execution_case_t02.dart:46:5: Warning: Switch case may fall through to the next case.
-//     case 1:
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test(dynamic value) → dynamic {
-  dynamic result;
-  #L1:
-  switch(value) {
-    #L2:
-    case #C1:
-      {
-        result = 1;
-        break #L1;
-      }
-    #L3:
-    case #C2:
-      {
-        result = 2;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 35);
-      }
-    #L4:
-    case #C3:
-      {
-        result = 3;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 36);
-      }
-    #L5:
-    default:
-      {
-        result = 4;
-      }
-  }
-  return result;
-}
-static method testEmptyCases(dynamic value) → dynamic {
-  dynamic result;
-  #L6:
-  switch(value) {
-    #L7:
-    case #C1:
-    case #C2:
-      {
-        result = 1;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 46);
-      }
-    #L8:
-    case #C3:
-    case #C4:
-      {
-        result = 2;
-        break #L6;
-      }
-    #L9:
-    case #C5:
-    case #C6:
-    default:
-      {}
-  }
-  return result;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 3
-  #C4 = 4
-  #C5 = 5
-  #C6 = 6
-}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.legacy.transformed.expect
deleted file mode 100644
index 27733bb..0000000
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/switch_execution_case_t02.dart:35:5: Warning: Switch case may fall through to the next case.
-//     case 2:  result = 2; /// static warning - case fall-through, see "Switch"
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_execution_case_t02.dart:36:5: Warning: Switch case may fall through to the next case.
-//     case 3:  result = 3; /// static warning - case fall-through, see "Switch"
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_execution_case_t02.dart:46:5: Warning: Switch case may fall through to the next case.
-//     case 1:
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test(dynamic value) → dynamic {
-  dynamic result;
-  #L1:
-  switch(value) {
-    #L2:
-    case #C1:
-      {
-        result = 1;
-        break #L1;
-      }
-    #L3:
-    case #C2:
-      {
-        result = 2;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 35);
-      }
-    #L4:
-    case #C3:
-      {
-        result = 3;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 36);
-      }
-    #L5:
-    default:
-      {
-        result = 4;
-      }
-  }
-  return result;
-}
-static method testEmptyCases(dynamic value) → dynamic {
-  dynamic result;
-  #L6:
-  switch(value) {
-    #L7:
-    case #C1:
-    case #C2:
-      {
-        result = 1;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_execution_case_t02.dart", 46);
-      }
-    #L8:
-    case #C3:
-    case #C4:
-      {
-        result = 2;
-        break #L6;
-      }
-    #L9:
-    case #C5:
-    case #C6:
-    default:
-      {}
-  }
-  return result;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 3
-  #C4 = 4
-  #C5 = 5
-  #C6 = 6
-}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.legacy.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.legacy.expect
deleted file mode 100644
index 0c7824e..0000000
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.legacy.expect
+++ /dev/null
@@ -1,99 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:7:5: Warning: Switch case may fall through to the next case.
-//     case 1:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:13:5: Warning: Switch case may fall through to the next case.
-//     case 2:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:20:5: Warning: Switch case may fall through to the next case.
-//     case 3:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:26:5: Warning: Switch case may fall through to the next case.
-//     case 4:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:31:5: Warning: Switch case may fall through to the next case.
-//     case 5:
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  #L1:
-  switch(1) {
-    #L2:
-    case #C1:
-      {
-        {
-          "No fall-through error needed.";
-          break #L1;
-          ;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 7);
-      }
-    #L3:
-    case #C2:
-      {
-        {
-          "Fall-through error needed.";
-          if(true) {
-            break #L1;
-          }
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 13);
-      }
-    #L4:
-    case #C3:
-      {
-        try {
-          "No fall-through error needed.";
-        }
-        finally {
-          break #L1;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 20);
-      }
-    #L5:
-    case #C4:
-      {
-        try {
-          "No fall-through error needed.";
-          break #L1;
-        }
-        finally {
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 26);
-      }
-    #L6:
-    case #C5:
-      {
-        try {
-          "Fall-through error needed.";
-        }
-        finally {
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 31);
-      }
-    #L7:
-    case #C6:
-      {
-        "Should be last. No fall-through error, falling through allowed here.";
-      }
-  }
-}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 3
-  #C4 = 4
-  #C5 = 5
-  #C6 = 10000
-}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.legacy.transformed.expect
deleted file mode 100644
index 0c7824e..0000000
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,99 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:7:5: Warning: Switch case may fall through to the next case.
-//     case 1:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:13:5: Warning: Switch case may fall through to the next case.
-//     case 2:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:20:5: Warning: Switch case may fall through to the next case.
-//     case 3:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:26:5: Warning: Switch case may fall through to the next case.
-//     case 4:
-//     ^
-//
-// pkg/front_end/testcases/rasta/switch_fall_through.dart:31:5: Warning: Switch case may fall through to the next case.
-//     case 5:
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  #L1:
-  switch(1) {
-    #L2:
-    case #C1:
-      {
-        {
-          "No fall-through error needed.";
-          break #L1;
-          ;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 7);
-      }
-    #L3:
-    case #C2:
-      {
-        {
-          "Fall-through error needed.";
-          if(true) {
-            break #L1;
-          }
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 13);
-      }
-    #L4:
-    case #C3:
-      {
-        try {
-          "No fall-through error needed.";
-        }
-        finally {
-          break #L1;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 20);
-      }
-    #L5:
-    case #C4:
-      {
-        try {
-          "No fall-through error needed.";
-          break #L1;
-        }
-        finally {
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 26);
-      }
-    #L6:
-    case #C5:
-      {
-        try {
-          "Fall-through error needed.";
-        }
-        finally {
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///switch_fall_through.dart", 31);
-      }
-    #L7:
-    case #C6:
-      {
-        "Should be last. No fall-through error, falling through allowed here.";
-      }
-  }
-}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 3
-  #C4 = 4
-  #C5 = 5
-  #C6 = 10000
-}
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.legacy.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.legacy.expect
deleted file mode 100644
index c619705..0000000
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m(dynamic x) → dynamic
-    return this.call(x);
-  method call(dynamic x) → dynamic
-    return 42;
-}
-static method main() → dynamic {
-  core::print(new self::C::•().m(42));
-}
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.legacy.transformed.expect
deleted file mode 100644
index c619705..0000000
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m(dynamic x) → dynamic
-    return this.call(x);
-  method call(dynamic x) → dynamic
-    return 42;
-}
-static method main() → dynamic {
-  core::print(new self::C::•().m(42));
-}
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.legacy.expect b/pkg/front_end/testcases/rasta/try_label.dart.legacy.expect
deleted file mode 100644
index d6d4ae7..0000000
--- a/pkg/front_end/testcases/rasta/try_label.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {
-  #L1:
-  try {
-    break #L1;
-  }
-  finally {
-    invalid-statement;
-  }
-}
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.legacy.expect b/pkg/front_end/testcases/rasta/type_literals.dart.legacy.expect
deleted file mode 100644
index e6948d5..0000000
--- a/pkg/front_end/testcases/rasta/type_literals.dart.legacy.expect
+++ /dev/null
@@ -1,382 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:22:5: Warning: Method not found: 'dynamic'.
-//     dynamic();
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:23:9: Warning: Method not found: 'dynamic'.
-//     use(dynamic());
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:24:5: Warning: Method not found: 'T'.
-//     T();
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:25:9: Warning: Method not found: 'T'.
-//     use(T());
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:26:5: Warning: Method not found: 'Func'.
-//     Func();
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:27:9: Warning: Method not found: 'Func'.
-//     use(Func());
-//         ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:29:5: Warning: Setter not found: 'C'.
-//     C = 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:30:9: Warning: Setter not found: 'C'.
-//     use(C = 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:31:5: Warning: Setter not found: 'dynamic'.
-//     dynamic = 42;
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:32:9: Warning: Setter not found: 'dynamic'.
-//     use(dynamic = 42);
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:33:5: Warning: Setter not found: 'T'.
-//     T = 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:34:9: Warning: Setter not found: 'T'.
-//     use(T = 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:35:5: Warning: Setter not found: 'Func'.
-//     Func = 42;
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:36:9: Warning: Setter not found: 'Func'.
-//     use(Func = 42);
-//         ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:38:5: Warning: Setter not found: 'C'.
-//     C++;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:39:9: Warning: Setter not found: 'C'.
-//     use(C++);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:40:5: Warning: Setter not found: 'dynamic'.
-//     dynamic++;
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:41:9: Warning: Setter not found: 'dynamic'.
-//     use(dynamic++);
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:42:5: Warning: Setter not found: 'T'.
-//     T++;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:43:9: Warning: Setter not found: 'T'.
-//     use(T++);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:44:5: Warning: Setter not found: 'Func'.
-//     Func++;
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:45:9: Warning: Setter not found: 'Func'.
-//     use(Func++);
-//         ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:47:7: Warning: Setter not found: 'C'.
-//     ++C;
-//       ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:48:11: Warning: Setter not found: 'C'.
-//     use(++C);
-//           ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:49:7: Warning: Setter not found: 'dynamic'.
-//     ++dynamic;
-//       ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:50:11: Warning: Setter not found: 'dynamic'.
-//     use(++dynamic);
-//           ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:51:7: Warning: Setter not found: 'T'.
-//     ++T;
-//       ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:52:11: Warning: Setter not found: 'T'.
-//     use(++T);
-//           ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:53:7: Warning: Setter not found: 'Func'.
-//     ++Func;
-//       ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:54:11: Warning: Setter not found: 'Func'.
-//     use(++Func);
-//           ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:56:5: Warning: Setter not found: 'C'.
-//     C--;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:57:9: Warning: Setter not found: 'C'.
-//     use(C--);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:58:5: Warning: Setter not found: 'dynamic'.
-//     dynamic--;
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:59:9: Warning: Setter not found: 'dynamic'.
-//     use(dynamic--);
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:60:5: Warning: Setter not found: 'T'.
-//     T--;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:61:9: Warning: Setter not found: 'T'.
-//     use(T--);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:62:5: Warning: Setter not found: 'Func'.
-//     Func--;
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:63:9: Warning: Setter not found: 'Func'.
-//     use(Func--);
-//         ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:65:7: Warning: Setter not found: 'C'.
-//     --C;
-//       ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:66:11: Warning: Setter not found: 'C'.
-//     use(--C);
-//           ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:67:7: Warning: Setter not found: 'dynamic'.
-//     --dynamic;
-//       ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:68:11: Warning: Setter not found: 'dynamic'.
-//     use(--dynamic);
-//           ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:69:7: Warning: Setter not found: 'T'.
-//     --T;
-//       ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:70:11: Warning: Setter not found: 'T'.
-//     use(--T);
-//           ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:71:7: Warning: Setter not found: 'Func'.
-//     --Func;
-//       ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:72:11: Warning: Setter not found: 'Func'.
-//     use(--Func);
-//           ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:74:5: Warning: Setter not found: 'C'.
-//     C ??= 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:75:9: Warning: Setter not found: 'C'.
-//     use(C ??= 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:76:5: Warning: Setter not found: 'dynamic'.
-//     dynamic ??= 42;
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:77:9: Warning: Setter not found: 'dynamic'.
-//     use(dynamic ??= 42);
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:78:5: Warning: Setter not found: 'T'.
-//     T ??= 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:79:9: Warning: Setter not found: 'T'.
-//     use(T ??= 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:80:5: Warning: Setter not found: 'Func'.
-//     Func ??= 42;
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:81:9: Warning: Setter not found: 'Func'.
-//     use(Func ??= 42);
-//         ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:83:5: Warning: Setter not found: 'C'.
-//     C += 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:84:9: Warning: Setter not found: 'C'.
-//     use(C += 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:85:5: Warning: Setter not found: 'dynamic'.
-//     dynamic += 42;
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:86:9: Warning: Setter not found: 'dynamic'.
-//     use(dynamic += 42);
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:87:5: Warning: Setter not found: 'T'.
-//     T += 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:88:9: Warning: Setter not found: 'T'.
-//     use(T += 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:89:5: Warning: Setter not found: 'Func'.
-//     Func += 42;
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:90:9: Warning: Setter not found: 'Func'.
-//     use(Func += 42);
-//         ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:92:5: Warning: Setter not found: 'C'.
-//     C -= 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:93:9: Warning: Setter not found: 'C'.
-//     use(C -= 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:94:5: Warning: Setter not found: 'dynamic'.
-//     dynamic -= 42;
-//     ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:95:9: Warning: Setter not found: 'dynamic'.
-//     use(dynamic -= 42);
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:96:5: Warning: Setter not found: 'T'.
-//     T -= 42;
-//     ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:97:9: Warning: Setter not found: 'T'.
-//     use(T -= 42);
-//         ^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:98:5: Warning: Setter not found: 'Func'.
-//     Func -= 42;
-//     ^^^^
-//
-// pkg/front_end/testcases/rasta/type_literals.dart:99:9: Warning: Setter not found: 'Func'.
-//     use(Func -= 42);
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Func = () →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method test() → dynamic {
-    self::C<dynamic>*;
-    self::use(self::C<dynamic>*);
-    dynamic;
-    self::use(dynamic);
-    self::C::T*;
-    self::use(self::C::T*);
-    () →* void;
-    self::use(() →* void);
-    new self::C::•<dynamic>();
-    self::use(new self::C::•<dynamic>());
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t1 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t1.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t2 = self::C<dynamic>* in let final dynamic #t3 = #t2 in let final dynamic #t4 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t3.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t3);
-    let final dynamic #t5 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t5.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t6 = dynamic in let final dynamic #t7 = #t6 in let final dynamic #t8 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t7.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t7);
-    let final dynamic #t9 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t9.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t10 = self::C::T* in let final dynamic #t11 = #t10 in let final dynamic #t12 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t11.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t11);
-    let final dynamic #t13 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t13.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t14 = () →* void in let final dynamic #t15 = #t14 in let final dynamic #t16 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t15.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t15);
-    let final dynamic #t17 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t17.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t18 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t18.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t19 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t19.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t20 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t20.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t21 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t21.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t22 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t22.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t23 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t23.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t24 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t24.+(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t25 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t25.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t26 = self::C<dynamic>* in let final dynamic #t27 = #t26 in let final dynamic #t28 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t27.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t27);
-    let final dynamic #t29 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t29.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t30 = dynamic in let final dynamic #t31 = #t30 in let final dynamic #t32 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t31.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t31);
-    let final dynamic #t33 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t33.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t34 = self::C::T* in let final dynamic #t35 = #t34 in let final dynamic #t36 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t35.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t35);
-    let final dynamic #t37 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t37.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t38 = () →* void in let final dynamic #t39 = #t38 in let final dynamic #t40 = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t39.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) in #t39);
-    let final dynamic #t41 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t41.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t42 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t42.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t43 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t43.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t44 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t44.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t45 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t45.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t46 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t46.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t47 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t47.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t48 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t48.-(1)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t49 = self::C<dynamic>* in #t49.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : null;
-    self::use(let final dynamic #t50 = self::C<dynamic>* in let final dynamic #t51 = #t50 in #t51.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : #t51);
-    let final dynamic #t52 = dynamic in #t52.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : null;
-    self::use(let final dynamic #t53 = dynamic in let final dynamic #t54 = #t53 in #t54.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : #t54);
-    let final dynamic #t55 = self::C::T* in #t55.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : null;
-    self::use(let final dynamic #t56 = self::C::T* in let final dynamic #t57 = #t56 in #t57.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : #t57);
-    let final dynamic #t58 = () →* void in #t58.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : null;
-    self::use(let final dynamic #t59 = () →* void in let final dynamic #t60 = #t59 in #t60.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : #t60);
-    let final dynamic #t61 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t61.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t62 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t62.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t63 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t63.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t64 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t64.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t65 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t65.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t66 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t66.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t67 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t67.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t68 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t68.+(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t69 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t69.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t70 = self::C<dynamic>* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t70.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t71 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t71.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t72 = dynamic in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#dynamic, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t72.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t73 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t73.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t74 = self::C::T* in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#T, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t74.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-    let final dynamic #t75 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t75.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-    self::use(let final dynamic #t76 = () →* void in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Func, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[#t76.-(42)]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))));
-  }
-}
-static method use(dynamic x) → dynamic {
-  if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
-    throw "Shouldn't happen";
-}
-static method main() → dynamic {
-  new self::C::•<dynamic>().test();
-}
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.legacy.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.legacy.expect
deleted file mode 100644
index 18d0cca..0000000
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A
-    : super core::Object::•();
-  method foo() → dynamic {
-    throw core::_malformedTypeError("'B' is not a type.");
-  }
-}
-class B extends core::Object {
-  constructor •() → self::B
-    : super core::Object::•();
-}
-static method main() → dynamic {
-  throw core::_malformedTypeError("'B' is not a type.");
-}
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.legacy.expect b/pkg/front_end/testcases/rasta/typedef.dart.legacy.expect
deleted file mode 100644
index e46aaa3..0000000
--- a/pkg/front_end/testcases/rasta/typedef.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/typedef.dart:9:3: Warning: Setter not found: 'Foo'.
-//   Foo = null;
-//   ^^^
-//
-// pkg/front_end/testcases/rasta/typedef.dart:10:3: Warning: Setter not found: 'Foo'.
-//   Foo ??= null;
-//   ^^^
-//
-// pkg/front_end/testcases/rasta/typedef.dart:11:3: Warning: Method not found: 'Foo'.
-//   Foo();
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Foo = () →* void;
-static method main() → dynamic {
-  core::print(() →* void);
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Foo, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[null]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  let final dynamic #t1 = () →* void in #t1.==(null) ? throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Foo, 34, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[null]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) : null;
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Foo, 32, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-}
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.legacy.expect b/pkg/front_end/testcases/rasta/unresolved.dart.legacy.expect
deleted file mode 100644
index 5c81153..0000000
--- a/pkg/front_end/testcases/rasta/unresolved.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Missing, 32, const <dynamic>[], const <dynamic>[], core::Map::unmodifiable<dynamic, dynamic>(const <dynamic, dynamic>{})));
-}
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.legacy.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.legacy.expect
deleted file mode 100644
index f09c66b..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •(dynamic x, dynamic y) → void
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#, 32, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#Foo.notHere, 32, null, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}));
-}
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.legacy.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.legacy.expect
deleted file mode 100644
index f58d04d..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.legacy.expect
+++ /dev/null
@@ -1,165 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:12:13: Warning: Getter not found: 'key'.
-//       print(key);
-//             ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Warning: Setter not found: 'key'.
-//     for (key in x) {
-//          ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Warning: Setter not found: 'Fisk'.
-//     for (Fisk in x) {
-//          ^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:18:13: Error: A prefix can't be used as an expression.
-//       print(collection);
-//             ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
-//     for (collection in x) {
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Warning: Setter not found: 'VoidFunction'.
-//     for (VoidFunction in x) {
-//          ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Expected an identifier, but got '1'.
-//     for (1 in x) {
-//          ^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:24:13: Warning: Getter not found: 'key'.
-//       print(key);
-//             ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-//     for (1 in x) {
-//          ^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:32:11: Warning: Getter not found: 'key'.
-//     print(key);
-//           ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Warning: Setter not found: 'key'.
-//   for (key in arguments) {
-//        ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Warning: Setter not found: 'Fisk'.
-//   for (Fisk in arguments) {
-//        ^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:38:11: Error: A prefix can't be used as an expression.
-//     print(collection);
-//           ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
-//   for (collection in arguments) {
-//        ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Warning: Setter not found: 'VoidFunction'.
-//   for (VoidFunction in arguments) {
-//        ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Expected an identifier, but got '1'.
-//   for (1 in arguments) {
-//        ^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:44:11: Warning: Getter not found: 'key'.
-//     print(key);
-//           ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
-//   for (1 in arguments) {
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:collection" as collection;
-
-typedef VoidFunction = () →* void;
-class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
-    : super core::Object::•()
-    ;
-  method it1(dynamic x) → dynamic {
-    for (final dynamic #t1 in x) {
-      this.key = #t1;
-      core::print(this.key);
-    }
-    for (final dynamic #t2 in x) {
-      throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t2]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-      core::print(self::Fisk*);
-    }
-    for (final dynamic #t3 in x) {
-      invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
-    for (collection in x) {
-         ^^^^^^^^^^";
-      core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:18:13: Error: A prefix can't be used as an expression.
-      print(collection);
-            ^^^^^^^^^^");
-    }
-    for (final dynamic #t4 in x) {
-      throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t4]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-      core::print(() →* void);
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (1 in x) {
-         ^";
-      for (final dynamic #t5 in x) {
-        invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (1 in x) {
-         ^";
-        1;
-        core::print(this.key);
-      }
-    }
-  }
-}
-static method main(dynamic arguments) → dynamic {
-  new self::Fisk::•();
-  for (final dynamic #t6 in arguments) {
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t6]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  }
-  for (final dynamic #t7 in arguments) {
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t7]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    core::print(self::Fisk*);
-  }
-  for (final dynamic #t8 in arguments) {
-    invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
-  for (collection in arguments) {
-       ^^^^^^^^^^";
-    core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:38:11: Error: A prefix can't be used as an expression.
-    print(collection);
-          ^^^^^^^^^^");
-  }
-  for (final dynamic #t9 in arguments) {
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t9]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    core::print(() →* void);
-  }
-  {
-    invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
-  for (1 in arguments) {
-       ^";
-    for (final dynamic #t10 in arguments) {
-      invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
-  for (1 in arguments) {
-       ^";
-      1;
-      core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-    }
-  }
-}
-
-constants  {
-  #C1 = #Fisk
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #VoidFunction
-  #C6 = #key
-}
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.legacy.transformed.expect
deleted file mode 100644
index f58d04d..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,165 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:12:13: Warning: Getter not found: 'key'.
-//       print(key);
-//             ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Warning: Setter not found: 'key'.
-//     for (key in x) {
-//          ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Warning: Setter not found: 'Fisk'.
-//     for (Fisk in x) {
-//          ^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:18:13: Error: A prefix can't be used as an expression.
-//       print(collection);
-//             ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
-//     for (collection in x) {
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Warning: Setter not found: 'VoidFunction'.
-//     for (VoidFunction in x) {
-//          ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Expected an identifier, but got '1'.
-//     for (1 in x) {
-//          ^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:24:13: Warning: Getter not found: 'key'.
-//       print(key);
-//             ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-//     for (1 in x) {
-//          ^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:32:11: Warning: Getter not found: 'key'.
-//     print(key);
-//           ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Warning: Setter not found: 'key'.
-//   for (key in arguments) {
-//        ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Warning: Setter not found: 'Fisk'.
-//   for (Fisk in arguments) {
-//        ^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:38:11: Error: A prefix can't be used as an expression.
-//     print(collection);
-//           ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
-//   for (collection in arguments) {
-//        ^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Warning: Setter not found: 'VoidFunction'.
-//   for (VoidFunction in arguments) {
-//        ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Expected an identifier, but got '1'.
-//   for (1 in arguments) {
-//        ^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:44:11: Warning: Getter not found: 'key'.
-//     print(key);
-//           ^^^
-//
-// pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
-//   for (1 in arguments) {
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:collection" as collection;
-
-typedef VoidFunction = () →* void;
-class Fisk extends core::Object {
-  synthetic constructor •() → self::Fisk*
-    : super core::Object::•()
-    ;
-  method it1(dynamic x) → dynamic {
-    for (final dynamic #t1 in x) {
-      this.key = #t1;
-      core::print(this.key);
-    }
-    for (final dynamic #t2 in x) {
-      throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t2]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-      core::print(self::Fisk*);
-    }
-    for (final dynamic #t3 in x) {
-      invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
-    for (collection in x) {
-         ^^^^^^^^^^";
-      core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:18:13: Error: A prefix can't be used as an expression.
-      print(collection);
-            ^^^^^^^^^^");
-    }
-    for (final dynamic #t4 in x) {
-      throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t4]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-      core::print(() →* void);
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (1 in x) {
-         ^";
-      for (final dynamic #t5 in x) {
-        invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (1 in x) {
-         ^";
-        1;
-        core::print(this.key);
-      }
-    }
-  }
-}
-static method main(dynamic arguments) → dynamic {
-  new self::Fisk::•();
-  for (final dynamic #t6 in arguments) {
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t6]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-  }
-  for (final dynamic #t7 in arguments) {
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t7]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    core::print(self::Fisk*);
-  }
-  for (final dynamic #t8 in arguments) {
-    invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
-  for (collection in arguments) {
-       ^^^^^^^^^^";
-    core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:38:11: Error: A prefix can't be used as an expression.
-    print(collection);
-          ^^^^^^^^^^");
-  }
-  for (final dynamic #t9 in arguments) {
-    throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 34, #C2, core::List::unmodifiable<dynamic>(<dynamic>[#t9]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-    core::print(() →* void);
-  }
-  {
-    invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
-  for (1 in arguments) {
-       ^";
-    for (final dynamic #t10 in arguments) {
-      invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
-  for (1 in arguments) {
-       ^";
-      1;
-      core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-    }
-  }
-}
-
-constants  {
-  #C1 = #Fisk
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #VoidFunction
-  #C6 = #key
-}
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.legacy.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.legacy.expect
deleted file mode 100644
index 3a8eaab..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class E extends core::Object {
-  synthetic constructor •() → self::E
-    : super core::Object::•();
-  method foo() → dynamic {
-    super.[]=(4, 42);
-    let final dynamic #t1 = 4 in super.[]=(#t1, super.[](#t1).+(5));
-    return super.[](2);
-  }
-}
-static method beforeTestMissingTry() → dynamic {
-  throw core::_genericNoSuchMethod(null, #testMissingTry, <dynamic>[], <dynamic, dynamic>{}, null);
-}
-static method testMissingTry() → dynamic
-  invalid-statement;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.legacy.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.legacy.expect
deleted file mode 100644
index 22b2878..0000000
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-import "dart:html";
-import "dart:io";
-
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.legacy.transformed.expect
deleted file mode 100644
index 22b2878..0000000
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-import "dart:html";
-import "dart:io";
-
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29937.dart.legacy.expect
deleted file mode 100644
index 4a39bb8..0000000
--- a/pkg/front_end/testcases/regress/issue_29937.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29937.dart:6:4: Error: A function expression can't have a name.
-//   [f() {}];
-//    ^
-//
-import self as self;
-
-static method main() → dynamic {
-  <dynamic>[let final () →* dynamic f = () → dynamic {} in f];
-}
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29937.dart.legacy.transformed.expect
deleted file mode 100644
index 4a39bb8..0000000
--- a/pkg/front_end/testcases/regress/issue_29937.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29937.dart:6:4: Error: A function expression can't have a name.
-//   [f() {}];
-//    ^
-//
-import self as self;
-
-static method main() → dynamic {
-  <dynamic>[let final () →* dynamic f = () → dynamic {} in f];
-}
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29940.dart.legacy.expect
deleted file mode 100644
index 83c805a..0000000
--- a/pkg/front_end/testcases/regress/issue_29940.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29940.dart:7:3: Warning: 'a.b' can't be used as a type because 'a' doesn't refer to an import prefix.
-//   a.b c = null;
-//   ^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  dynamic a = "";
-  invalid-type c = null;
-}
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29940.dart.legacy.transformed.expect
deleted file mode 100644
index 83c805a..0000000
--- a/pkg/front_end/testcases/regress/issue_29940.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29940.dart:7:3: Warning: 'a.b' can't be used as a type because 'a' doesn't refer to an import prefix.
-//   a.b c = null;
-//   ^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  dynamic a = "";
-  invalid-type c = null;
-}
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29941.dart.legacy.expect
deleted file mode 100644
index 37a2a3e..0000000
--- a/pkg/front_end/testcases/regress/issue_29941.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '""'.
-//   a."";
-//     ^^
-//
-import self as self;
-
-static method bad() → dynamic {
-  dynamic a = "";
-  invalid-expression "pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '\"\"'.
-  a.\"\";
-    ^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29941.dart.legacy.transformed.expect
deleted file mode 100644
index 37a2a3e..0000000
--- a/pkg/front_end/testcases/regress/issue_29941.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '""'.
-//   a."";
-//     ^^
-//
-import self as self;
-
-static method bad() → dynamic {
-  dynamic a = "";
-  invalid-expression "pkg/front_end/testcases/regress/issue_29941.dart:7:5: Error: Expected an identifier, but got '\"\"'.
-  a.\"\";
-    ^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29942.dart.legacy.expect
deleted file mode 100644
index 2462f6d..0000000
--- a/pkg/front_end/testcases/regress/issue_29942.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29942.dart:8:5: Error: Expected a function body or '=>'.
-// Try adding {}.
-// f() =
-//     ^
-//
-// pkg/front_end/testcases/regress/issue_29942.dart:10:1: Error: A function expression can't have a name.
-// h() => null;
-// ^
-//
-import self as self;
-
-static method main() → dynamic {}
-static method f() → dynamic
-  return let final () →* dynamic h = () → dynamic => null in h;
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29942.dart.legacy.transformed.expect
deleted file mode 100644
index 2462f6d..0000000
--- a/pkg/front_end/testcases/regress/issue_29942.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29942.dart:8:5: Error: Expected a function body or '=>'.
-// Try adding {}.
-// f() =
-//     ^
-//
-// pkg/front_end/testcases/regress/issue_29942.dart:10:1: Error: A function expression can't have a name.
-// h() => null;
-// ^
-//
-import self as self;
-
-static method main() → dynamic {}
-static method f() → dynamic
-  return let final () →* dynamic h = () → dynamic => null in h;
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29943.dart.legacy.expect
deleted file mode 100644
index 4684ec6..0000000
--- a/pkg/front_end/testcases/regress/issue_29943.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29943.dart:6:5: Error: Expected an identifier, but got '('.
-//   x.(null);
-//     ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  invalid-expression "pkg/front_end/testcases/regress/issue_29943.dart:6:5: Error: Expected an identifier, but got '('.
-  x.(null);
-    ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29943.dart.legacy.transformed.expect
deleted file mode 100644
index 4684ec6..0000000
--- a/pkg/front_end/testcases/regress/issue_29943.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29943.dart:6:5: Error: Expected an identifier, but got '('.
-//   x.(null);
-//     ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  invalid-expression "pkg/front_end/testcases/regress/issue_29943.dart:6:5: Error: Expected an identifier, but got '('.
-  x.(null);
-    ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29944.dart.legacy.expect
deleted file mode 100644
index 5cb1717..0000000
--- a/pkg/front_end/testcases/regress/issue_29944.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29944.dart:7:7: Error: A class member can't have the same name as the enclosing class.
-//   var C;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic C = null;
-  constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29944.dart.legacy.transformed.expect
deleted file mode 100644
index 5cb1717..0000000
--- a/pkg/front_end/testcases/regress/issue_29944.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29944.dart:7:7: Error: A class member can't have the same name as the enclosing class.
-//   var C;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic C = null;
-  constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29945.dart.legacy.expect
deleted file mode 100644
index 7a2f7d1..0000000
--- a/pkg/front_end/testcases/regress/issue_29945.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29945.dart:6:3: Warning: 's.bool' can't be used as a type because 's' isn't defined.
-//   s.bool x = null;
-//   ^^^^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  invalid-type x = null;
-}
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29945.dart.legacy.transformed.expect
deleted file mode 100644
index 7a2f7d1..0000000
--- a/pkg/front_end/testcases/regress/issue_29945.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29945.dart:6:3: Warning: 's.bool' can't be used as a type because 's' isn't defined.
-//   s.bool x = null;
-//   ^^^^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  invalid-type x = null;
-}
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29975.dart.legacy.expect
deleted file mode 100644
index 2d292e2..0000000
--- a/pkg/front_end/testcases/regress/issue_29975.dart.legacy.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/regress/issue_29975.dart:6:14: Error: Duplicated definition of 'F'.
-// typedef void F();
-//              ^
-
-library;
-import self as self;
-
-typedef F = () → void;
-typedef F = () → void;
-static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29976.dart.legacy.expect
deleted file mode 100644
index 7e1ffbb..0000000
--- a/pkg/front_end/testcases/regress/issue_29976.dart.legacy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:14: Error: The non-ASCII character 'é' (U+00E9) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-//     "x${x*"'"é'}x
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:15: Error: String starting with ' must end with '.
-//     "x${x*"'"é'}x
-//               ^^^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:7: Error: Can't find '}' to match '${'.
-//     "x${x*"'"é'}x
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:5: Error: String starting with " must end with ".
-//     "x${x*"'"é'}x
-//     ^^^^^^^^^^^^^^...
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:12:1: Error: Expected a declaration, but got ''.
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:14: Error: Expected '}' before this.
-//     "x${x*"'"é'}x
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:10:3: Error: Expected a String, but got ')'.
-//   )
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:8:3: Warning: Method not found: 'f'.
-//   f(
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:10:3: Error: Expected ';' after this.
-//   )
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-static get x() → dynamic
-  return null;
-static method main() → void {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>["x${self::x.*("'")}"]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #f
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29976.dart.legacy.transformed.expect
deleted file mode 100644
index 7e1ffbb..0000000
--- a/pkg/front_end/testcases/regress/issue_29976.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:14: Error: The non-ASCII character 'é' (U+00E9) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-//     "x${x*"'"é'}x
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:15: Error: String starting with ' must end with '.
-//     "x${x*"'"é'}x
-//               ^^^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:7: Error: Can't find '}' to match '${'.
-//     "x${x*"'"é'}x
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:5: Error: String starting with " must end with ".
-//     "x${x*"'"é'}x
-//     ^^^^^^^^^^^^^^...
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:12:1: Error: Expected a declaration, but got ''.
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:9:14: Error: Expected '}' before this.
-//     "x${x*"'"é'}x
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:10:3: Error: Expected a String, but got ')'.
-//   )
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:8:3: Warning: Method not found: 'f'.
-//   f(
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29976.dart:10:3: Error: Expected ';' after this.
-//   )
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-static get x() → dynamic
-  return null;
-static method main() → void {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>["x${self::x.*("'")}"]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #f
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29977.dart.legacy.expect
deleted file mode 100644
index b940300..0000000
--- a/pkg/front_end/testcases/regress/issue_29977.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29977.dart:5:19: Error: Couldn't parse URI 'data:async':
-//   Invalid MIME type.
-// import 'data:async';
-//                   ^
-//
-import self as self;
-
-import "org-dartlang-malformed-uri:?data%3Aasync";
-
-static method main() → dynamic {}
-
-library;
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29977.dart.legacy.transformed.expect
deleted file mode 100644
index b940300..0000000
--- a/pkg/front_end/testcases/regress/issue_29977.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29977.dart:5:19: Error: Couldn't parse URI 'data:async':
-//   Invalid MIME type.
-// import 'data:async';
-//                   ^
-//
-import self as self;
-
-import "org-dartlang-malformed-uri:?data%3Aasync";
-
-static method main() → dynamic {}
-
-library;
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29978.dart.legacy.expect
deleted file mode 100644
index cebc27b..0000000
--- a/pkg/front_end/testcases/regress/issue_29978.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29978.dart:8:13: Error: A function expression can't have a name.
-//   foo(null, f() {});
-//             ^
-//
-import self as self;
-
-static method foo(dynamic a, dynamic b) → dynamic
-  return null;
-static method main() → dynamic {
-  self::foo(null, let final () →* dynamic f = () → dynamic {} in f);
-}
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29978.dart.legacy.transformed.expect
deleted file mode 100644
index cebc27b..0000000
--- a/pkg/front_end/testcases/regress/issue_29978.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29978.dart:8:13: Error: A function expression can't have a name.
-//   foo(null, f() {});
-//             ^
-//
-import self as self;
-
-static method foo(dynamic a, dynamic b) → dynamic
-  return null;
-static method main() → dynamic {
-  self::foo(null, let final () →* dynamic f = () → dynamic {} in f);
-}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29979.dart.legacy.expect
deleted file mode 100644
index b662e6d..0000000
--- a/pkg/front_end/testcases/regress/issue_29979.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29979.dart:6:4: Error: A function expression can't have a name.
-//   (f() {})();
-//    ^
-//
-import self as self;
-
-static method main() → dynamic {
-  (let final () →* dynamic f = () → dynamic {} in f).call();
-}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29979.dart.legacy.transformed.expect
deleted file mode 100644
index b662e6d..0000000
--- a/pkg/front_end/testcases/regress/issue_29979.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29979.dart:6:4: Error: A function expression can't have a name.
-//   (f() {})();
-//    ^
-//
-import self as self;
-
-static method main() → dynamic {
-  (let final () →* dynamic f = () → dynamic {} in f).call();
-}
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29980.dart.legacy.expect
deleted file mode 100644
index 23d7054..0000000
--- a/pkg/front_end/testcases/regress/issue_29980.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29980.dart:6:3: Warning: 'x.y' can't be used as a type because 'x' isn't defined.
-//   x.y z;
-//   ^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  invalid-type z;
-}
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29980.dart.legacy.transformed.expect
deleted file mode 100644
index 23d7054..0000000
--- a/pkg/front_end/testcases/regress/issue_29980.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29980.dart:6:3: Warning: 'x.y' can't be used as a type because 'x' isn't defined.
-//   x.y z;
-//   ^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  invalid-type z;
-}
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29981.dart.legacy.expect
deleted file mode 100644
index 5dc072c..0000000
--- a/pkg/front_end/testcases/regress/issue_29981.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29981.dart:6:3: Warning: Expected 1 type arguments.
-//   C<String, String> field;
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field self::C<dynamic>* field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::C::•<dynamic>());
-}
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29981.dart.legacy.transformed.expect
deleted file mode 100644
index 5dc072c..0000000
--- a/pkg/front_end/testcases/regress/issue_29981.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29981.dart:6:3: Warning: Expected 1 type arguments.
-//   C<String, String> field;
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field self::C<dynamic>* field = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::C::•<dynamic>());
-}
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29982.dart.legacy.expect
deleted file mode 100644
index 45ebe35..0000000
--- a/pkg/front_end/testcases/regress/issue_29982.dart.legacy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: The non-ASCII character 'é' (U+00E9) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-//   print('${eh[éh']}');
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:14: Error: Can't find ']' to match '['.
-//   print('${eh[éh']}');
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:10: Error: Can't find '}' to match '${'.
-//   print('${eh[éh']}');
-//          ^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:11: Error: String starting with ' must end with '.
-//   print('${eh[éh']}');
-//           ^^^^^^^^^^^^^...
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:9:1: Error: Expected a declaration, but got ''.
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:17: Error: Expected ']' before this.
-//   print('${eh[éh']}');
-//                 ^^^^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:15: Warning: Getter not found: 'éh'.
-//   print('${eh[éh']}');
-//               ^^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:17: Error: Expected '}' before this.
-//   print('${eh[éh']}');
-//                 ^^^^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:21: Error: Expected a String, but got ')'.
-//   print('${eh[éh']}');
-//                     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic eh = <dynamic, dynamic>{"\u0233h": "\u0233h"};
-  core::print("${eh.[](throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))))}");
-}
-
-constants  {
-  #C1 = #éh
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29982.dart.legacy.transformed.expect
deleted file mode 100644
index 45ebe35..0000000
--- a/pkg/front_end/testcases/regress/issue_29982.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: The non-ASCII character 'é' (U+00E9) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-//   print('${eh[éh']}');
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:14: Error: Can't find ']' to match '['.
-//   print('${eh[éh']}');
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:10: Error: Can't find '}' to match '${'.
-//   print('${eh[éh']}');
-//          ^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:11: Error: String starting with ' must end with '.
-//   print('${eh[éh']}');
-//           ^^^^^^^^^^^^^...
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:9:1: Error: Expected a declaration, but got ''.
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:17: Error: Expected ']' before this.
-//   print('${eh[éh']}');
-//                 ^^^^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:15: Warning: Getter not found: 'éh'.
-//   print('${eh[éh']}');
-//               ^^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:17: Error: Expected '}' before this.
-//   print('${eh[éh']}');
-//                 ^^^^
-//
-// pkg/front_end/testcases/regress/issue_29982.dart:7:21: Error: Expected a String, but got ')'.
-//   print('${eh[éh']}');
-//                     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  dynamic eh = <dynamic, dynamic>{"\u0233h": "\u0233h"};
-  core::print("${eh.[](throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))))}");
-}
-
-constants  {
-  #C1 = #éh
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29983.dart.legacy.expect
deleted file mode 100644
index a1d160d..0000000
--- a/pkg/front_end/testcases/regress/issue_29983.dart.legacy.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:7:10: Warning: Getter not found: 'missing'.
-//   return missing;
-//          ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:7:3: Error: 'sync*' and 'async*' can't return a value.
-//   return missing;
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:11:14: Warning: Getter not found: 'dummy'.
-// g() sync* => dummy;
-//              ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:11:14: Error: 'sync*' and 'async*' can't return a value.
-// g() sync* => dummy;
-//              ^
-//
-import self as self;
-
-static method f() → dynamic sync* {
-  invalid-expression "pkg/front_end/testcases/regress/issue_29983.dart:7:3: Error: 'sync*' and 'async*' can't return a value.
-  return missing;
-  ^";
-}
-static method g() → dynamic sync* 
-  invalid-expression "pkg/front_end/testcases/regress/issue_29983.dart:11:14: Error: 'sync*' and 'async*' can't return a value.
-g() sync* => dummy;
-             ^";
-static method h() → dynamic sync* {
-  (() → dynamic => "return").call();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29983.dart.legacy.transformed.expect
deleted file mode 100644
index 75f631b..0000000
--- a/pkg/front_end/testcases/regress/issue_29983.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:7:10: Warning: Getter not found: 'missing'.
-//   return missing;
-//          ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:7:3: Error: 'sync*' and 'async*' can't return a value.
-//   return missing;
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:11:14: Warning: Getter not found: 'dummy'.
-// g() sync* => dummy;
-//              ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_29983.dart:11:14: Error: 'sync*' and 'async*' can't return a value.
-// g() sync* => dummy;
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method f() → dynamic /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<dynamic>* :iterator) → core::bool* yielding {
-    {
-      invalid-expression "pkg/front_end/testcases/regress/issue_29983.dart:7:3: Error: 'sync*' and 'async*' can't return a value.
-  return missing;
-  ^";
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<dynamic>(:sync_op);
-}
-static method g() → dynamic /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<dynamic>* :iterator) → core::bool* yielding {
-    invalid-expression "pkg/front_end/testcases/regress/issue_29983.dart:11:14: Error: 'sync*' and 'async*' can't return a value.
-g() sync* => dummy;
-             ^";
-    return false;
-  }
-  return new core::_SyncIterable::•<dynamic>(:sync_op);
-}
-static method h() → dynamic /* originally sync* */ {
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :sync_op(core::_SyncIterator<dynamic>* :iterator) → core::bool* yielding {
-    {
-      (() → dynamic => "return").call();
-    }
-    return false;
-  }
-  return new core::_SyncIterable::•<dynamic>(:sync_op);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29984.dart.legacy.expect
deleted file mode 100644
index ddee8cf..0000000
--- a/pkg/front_end/testcases/regress/issue_29984.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29984.dart:6:16: Warning: Getter not found: 'i'.
-//   for (int i = i;; false) {}
-//                ^
-//
-// pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
-//   for (int i = i;; false) {}
-//            ^
-// pkg/front_end/testcases/regress/issue_29984.dart:6:16: Context: Previous use of 'i'.
-//   for (int i = i;; false) {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  for (core::int* i = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
-  for (int i = i;; false) {}
-           ^" in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))); ; false) {
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #i
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29984.dart.legacy.transformed.expect
deleted file mode 100644
index ddee8cf..0000000
--- a/pkg/front_end/testcases/regress/issue_29984.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29984.dart:6:16: Warning: Getter not found: 'i'.
-//   for (int i = i;; false) {}
-//                ^
-//
-// pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
-//   for (int i = i;; false) {}
-//            ^
-// pkg/front_end/testcases/regress/issue_29984.dart:6:16: Context: Previous use of 'i'.
-//   for (int i = i;; false) {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  for (core::int* i = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
-  for (int i = i;; false) {}
-           ^" in throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))); ; false) {
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #i
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29985.dart.legacy.expect
deleted file mode 100644
index ccd6d9d..0000000
--- a/pkg/front_end/testcases/regress/issue_29985.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29985.dart:6:3: Error: The non-ASCII character '🔛' (U+1F51B) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-//   🔛
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29985.dart:6:3: Error: Expected ';' after this.
-//   🔛
-//   ^^
-//
-// pkg/front_end/testcases/regress/issue_29985.dart:6:3: Warning: Getter not found: '🔛'.
-//   🔛
-//   ^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #🔛
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29985.dart.legacy.transformed.expect
deleted file mode 100644
index ccd6d9d..0000000
--- a/pkg/front_end/testcases/regress/issue_29985.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29985.dart:6:3: Error: The non-ASCII character '🔛' (U+1F51B) can't be used in identifiers, only in strings and comments.
-// Try using an US-ASCII letter, a digit, '_' (an underscore), or '$' (a dollar sign).
-//   🔛
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_29985.dart:6:3: Error: Expected ';' after this.
-//   🔛
-//   ^^
-//
-// pkg/front_end/testcases/regress/issue_29985.dart:6:3: Warning: Getter not found: '🔛'.
-//   🔛
-//   ^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #🔛
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29986.dart.legacy.expect
deleted file mode 100644
index f0b03d5..0000000
--- a/pkg/front_end/testcases/regress/issue_29986.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29986.dart:8:13: Error: Expected a function body or '=>'.
-// Try adding {}.
-// C(this.name);
-//             ^
-//
-// pkg/front_end/testcases/regress/issue_29986.dart:8:3: Error: Field formal parameters can only be used in a constructor.
-// Try removing 'this.'.
-// C(this.name);
-//   ^^^^
-//
-import self as self;
-
-static method main() → dynamic {}
-static abstract method C(dynamic name) → dynamic;
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29986.dart.legacy.transformed.expect
deleted file mode 100644
index f0b03d5..0000000
--- a/pkg/front_end/testcases/regress/issue_29986.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29986.dart:8:13: Error: Expected a function body or '=>'.
-// Try adding {}.
-// C(this.name);
-//             ^
-//
-// pkg/front_end/testcases/regress/issue_29986.dart:8:3: Error: Field formal parameters can only be used in a constructor.
-// Try removing 'this.'.
-// C(this.name);
-//   ^^^^
-//
-import self as self;
-
-static method main() → dynamic {}
-static abstract method C(dynamic name) → dynamic;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_29987.dart.legacy.expect
deleted file mode 100644
index 1a60106..0000000
--- a/pkg/front_end/testcases/regress/issue_29987.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29987.dart:5:13: Error: Couldn't parse URI 'dart_:core':
-//   Illegal scheme character.
-// import "dart_:core";
-//             ^
-//
-import self as self;
-
-import "org-dartlang-malformed-uri:?dart_%3Acore";
-
-static method main() → dynamic {}
-
-library;
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_29987.dart.legacy.transformed.expect
deleted file mode 100644
index 1a60106..0000000
--- a/pkg/front_end/testcases/regress/issue_29987.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29987.dart:5:13: Error: Couldn't parse URI 'dart_:core':
-//   Illegal scheme character.
-// import "dart_:core";
-//             ^
-//
-import self as self;
-
-import "org-dartlang-malformed-uri:?dart_%3Acore";
-
-static method main() → dynamic {}
-
-library;
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect
deleted file mode 100644
index 073f1bc..0000000
--- a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30834.dart:6:7: Error: A class member can't have the same name as the enclosing class.
-//   set A(v) {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set A(dynamic v) → void {}
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  a.A = 5;
-}
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect
deleted file mode 100644
index 073f1bc..0000000
--- a/pkg/front_end/testcases/regress/issue_30834.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30834.dart:6:7: Error: A class member can't have the same name as the enclosing class.
-//   set A(v) {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  set A(dynamic v) → void {}
-}
-static method main() → dynamic {
-  dynamic a = new self::A::•();
-  a.A = 5;
-}
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_30836.dart.legacy.expect
deleted file mode 100644
index c06a2df..0000000
--- a/pkg/front_end/testcases/regress/issue_30836.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30836.dart:6:13: Error: Final field 'x' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final int x;
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x = null;
-  constructor •() → self::A*
-    : super core::Object::•() {}
-}
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_30836.dart.legacy.transformed.expect
deleted file mode 100644
index c06a2df..0000000
--- a/pkg/front_end/testcases/regress/issue_30836.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30836.dart:6:13: Error: Final field 'x' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final int x;
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::int* x = null;
-  constructor •() → self::A*
-    : super core::Object::•() {}
-}
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_30838.dart.legacy.expect
deleted file mode 100644
index 1c1d323..0000000
--- a/pkg/front_end/testcases/regress/issue_30838.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<S extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* S*;
-class A extends core::Object {
-  field <T extends core::Object* = dynamic>(T) →* core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    this.f<core::String*>("hello");
-  }
-}
-static method foo<T extends core::Object* = dynamic>(self::foo::T* x) → core::int*
-  return 3;
-static method bar() → <T extends core::Object* = dynamic>(T) →* core::int*
-  return #C1;
-static method test1() → void {
-  self::bar().call<core::String*>("hello");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::foo
-}
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_30838.dart.legacy.transformed.expect
deleted file mode 100644
index 1c1d323..0000000
--- a/pkg/front_end/testcases/regress/issue_30838.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<S extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* S*;
-class A extends core::Object {
-  field <T extends core::Object* = dynamic>(T) →* core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method test() → void {
-    this.f<core::String*>("hello");
-  }
-}
-static method foo<T extends core::Object* = dynamic>(self::foo::T* x) → core::int*
-  return 3;
-static method bar() → <T extends core::Object* = dynamic>(T) →* core::int*
-  return #C1;
-static method test1() → void {
-  self::bar().call<core::String*>("hello");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::foo
-}
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_30981.dart.legacy.expect
deleted file mode 100644
index c31c737..0000000
--- a/pkg/front_end/testcases/regress/issue_30981.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30981.dart:6:7: Error: A class member can't have the same name as the enclosing class.
-//   get A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get A() → dynamic {
-    core::print("Actually, I'm a getter, not a constructor.");
-  }
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_30981.dart.legacy.transformed.expect
deleted file mode 100644
index c31c737..0000000
--- a/pkg/front_end/testcases/regress/issue_30981.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30981.dart:6:7: Error: A class member can't have the same name as the enclosing class.
-//   get A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get A() → dynamic {
-    core::print("Actually, I'm a getter, not a constructor.");
-  }
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_30994.dart.legacy.expect
deleted file mode 100644
index 99b330c..0000000
--- a/pkg/front_end/testcases/regress/issue_30994.dart.legacy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-library lib;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:6:7: Error: Can't use string interpolation in a URI.
-// part '$foo';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:7:7: Error: Can't use string interpolation in a URI.
-// part '$foo/bar';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:8:7: Error: Can't use string interpolation in a URI.
-// part '$for/bar';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:9:7: Error: Can't use string interpolation in a URI.
-// part '${true}';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:10:10: Error: Can't use string interpolation in a URI.
-// part 'the${1}thing';
-//          ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:11:12: Error: Can't use string interpolation in a URI.
-// part 'part_$foo${'a'}.dart';
-//            ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:12:12: Error: Can't use string interpolation in a URI.
-// part 'part_${'a'}_$foo.dart';
-//            ^
-//
-import self as self;
-
-part org-dartlang-malformed-uri:bad235;
-part org-dartlang-malformed-uri:bad248;
-part org-dartlang-malformed-uri:bad265;
-part org-dartlang-malformed-uri:bad282;
-part org-dartlang-malformed-uri:bad298;
-part org-dartlang-malformed-uri:bad319;
-part org-dartlang-malformed-uri:bad348;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-
-
-library;
-import self as self3;
-
-
-library;
-import self as self4;
-
-
-library;
-import self as self5;
-
-
-library;
-import self as self6;
-
-
-library;
-import self as self7;
-
-
-library;
-import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_30994.dart.legacy.transformed.expect
deleted file mode 100644
index 99b330c..0000000
--- a/pkg/front_end/testcases/regress/issue_30994.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-library lib;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:6:7: Error: Can't use string interpolation in a URI.
-// part '$foo';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:7:7: Error: Can't use string interpolation in a URI.
-// part '$foo/bar';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:8:7: Error: Can't use string interpolation in a URI.
-// part '$for/bar';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:9:7: Error: Can't use string interpolation in a URI.
-// part '${true}';
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:10:10: Error: Can't use string interpolation in a URI.
-// part 'the${1}thing';
-//          ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:11:12: Error: Can't use string interpolation in a URI.
-// part 'part_$foo${'a'}.dart';
-//            ^
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:12:12: Error: Can't use string interpolation in a URI.
-// part 'part_${'a'}_$foo.dart';
-//            ^
-//
-import self as self;
-
-part org-dartlang-malformed-uri:bad235;
-part org-dartlang-malformed-uri:bad248;
-part org-dartlang-malformed-uri:bad265;
-part org-dartlang-malformed-uri:bad282;
-part org-dartlang-malformed-uri:bad298;
-part org-dartlang-malformed-uri:bad319;
-part org-dartlang-malformed-uri:bad348;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-
-
-library;
-import self as self3;
-
-
-library;
-import self as self4;
-
-
-library;
-import self as self5;
-
-
-library;
-import self as self6;
-
-
-library;
-import self as self7;
-
-
-library;
-import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31155.dart.legacy.expect
deleted file mode 100644
index 2ee2402..0000000
--- a/pkg/front_end/testcases/regress/issue_31155.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:18: Error: Expected ';' after this.
-//   var f = Map<A, B> {};
-//                  ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:19: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   var f = Map<A, B> {};
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:19: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   var f = Map<A, B> {};
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:19: Error: Operator '>' should have exactly one parameter.
-//   var f = Map<A, B> {};
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:23: Error: Expected a class member, but got ';'.
-//   var f = Map<A, B> {};
-//                       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field dynamic f = core::Map<dynamic, dynamic>*.<(self::A*);
-  field dynamic B = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator >() → dynamic {}
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31155.dart.legacy.transformed.expect
deleted file mode 100644
index 2ee2402..0000000
--- a/pkg/front_end/testcases/regress/issue_31155.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:18: Error: Expected ';' after this.
-//   var f = Map<A, B> {};
-//                  ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:19: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   var f = Map<A, B> {};
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:19: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   var f = Map<A, B> {};
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:19: Error: Operator '>' should have exactly one parameter.
-//   var f = Map<A, B> {};
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31155.dart:11:23: Error: Expected a class member, but got ';'.
-//   var f = Map<A, B> {};
-//                       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field dynamic f = core::Map<dynamic, dynamic>*.<(self::A*);
-  field dynamic B = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator >() → dynamic {}
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31157.dart.legacy.expect
deleted file mode 100644
index f102486..0000000
--- a/pkg/front_end/testcases/regress/issue_31157.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31157.dart:6:16: Error: Expected an identifier, but got '('.
-//   return null?.(1);
-//                ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31157.dart:6:16: Error: Expected an identifier, but got '('.
-  return null?.(1);
-               ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31157.dart.legacy.transformed.expect
deleted file mode 100644
index f102486..0000000
--- a/pkg/front_end/testcases/regress/issue_31157.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31157.dart:6:16: Error: Expected an identifier, but got '('.
-//   return null?.(1);
-//                ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31157.dart:6:16: Error: Expected an identifier, but got '('.
-  return null?.(1);
-               ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31171.dart.legacy.expect
deleted file mode 100644
index 2c87a2a..0000000
--- a/pkg/front_end/testcases/regress/issue_31171.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31171.dart:8:1: Error: Expected a type, but got 'typedef'.
-// typedef F = Map<String, dynamic> Function();
-// ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_31171.dart:8:1: Error: Expected ';' after this.
-// typedef F = Map<String, dynamic> Function();
-// ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_31171.dart:7:11: Error: Can't create typedef from non-function type.
-// typedef T =
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef T = invalid-type;
-typedef F = () →* core::Map<core::String*, dynamic>*;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31171.dart.legacy.transformed.expect
deleted file mode 100644
index 2c87a2a..0000000
--- a/pkg/front_end/testcases/regress/issue_31171.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31171.dart:8:1: Error: Expected a type, but got 'typedef'.
-// typedef F = Map<String, dynamic> Function();
-// ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_31171.dart:8:1: Error: Expected ';' after this.
-// typedef F = Map<String, dynamic> Function();
-// ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_31171.dart:7:11: Error: Can't create typedef from non-function type.
-// typedef T =
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef T = invalid-type;
-typedef F = () →* core::Map<core::String*, dynamic>*;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31180.dart.legacy.expect
deleted file mode 100644
index b503b42..0000000
--- a/pkg/front_end/testcases/regress/issue_31180.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
-//   return null?.[1];
-//                ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
-  return null?.[1];
-               ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31180.dart.legacy.transformed.expect
deleted file mode 100644
index b503b42..0000000
--- a/pkg/front_end/testcases/regress/issue_31180.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
-//   return null?.[1];
-//                ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
-  return null?.[1];
-               ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
index 6877d8d..b503b42 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
@@ -2,17 +2,15 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31180.dart:6:14: Error: The method '[]' isn't defined for the class 'Null'.
-// Try correcting the name to the name of an existing method, or defining a method named '[]'.
+// pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
 //   return null?.[1];
-//              ^^
+//                ^
 //
 import self as self;
 
 static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31180.dart:6:14: Error: The method '[]' isn't defined for the class 'Null'.
-Try correcting the name to the name of an existing method, or defining a method named '[]'.
+  return invalid-expression "pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
   return null?.[1];
-             ^^";
+               ^";
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
index 6877d8d..b503b42 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
@@ -2,17 +2,15 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/regress/issue_31180.dart:6:14: Error: The method '[]' isn't defined for the class 'Null'.
-// Try correcting the name to the name of an existing method, or defining a method named '[]'.
+// pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
 //   return null?.[1];
-//              ^^
+//                ^
 //
 import self as self;
 
 static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31180.dart:6:14: Error: The method '[]' isn't defined for the class 'Null'.
-Try correcting the name to the name of an existing method, or defining a method named '[]'.
+  return invalid-expression "pkg/front_end/testcases/regress/issue_31180.dart:6:16: Error: Expected an identifier, but got '['.
   return null?.[1];
-             ^^";
+               ^";
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31181.dart.legacy.expect
deleted file mode 100644
index f1a3bea..0000000
--- a/pkg/front_end/testcases/regress/issue_31181.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<T extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* T*;
-static field <T extends core::Object* = dynamic>(T) →* T x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31181.dart.legacy.transformed.expect
deleted file mode 100644
index f1a3bea..0000000
--- a/pkg/front_end/testcases/regress/issue_31181.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<T extends core::Object* = dynamic> = <T extends core::Object* = dynamic>(T*) →* T*;
-static field <T extends core::Object* = dynamic>(T) →* T x;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31183.dart.legacy.expect
deleted file mode 100644
index 4a48715..0000000
--- a/pkg/front_end/testcases/regress/issue_31183.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31183.dart:6:12: Error: Unexpected token 'unary'.
-//   operator unary- => 0;
-//            ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_31183.dart:6:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   operator unary- => 0;
-//                 ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator unary-() → dynamic
-    return 0;
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31183.dart.legacy.transformed.expect
deleted file mode 100644
index 4a48715..0000000
--- a/pkg/front_end/testcases/regress/issue_31183.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31183.dart:6:12: Error: Unexpected token 'unary'.
-//   operator unary- => 0;
-//            ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_31183.dart:6:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   operator unary- => 0;
-//                 ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator unary-() → dynamic
-    return 0;
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31184.dart.legacy.expect
deleted file mode 100644
index 81eb8cc..0000000
--- a/pkg/front_end/testcases/regress/issue_31184.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
-//   for (int i = 0, i > 10; i++) {}
-//                   ^
-// pkg/front_end/testcases/regress/issue_31184.dart:6:12: Context: Previous declaration of 'i'.
-//   for (int i = 0, i > 10; i++) {}
-//            ^
-//
-// pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: Expected ';' after this.
-//   for (int i = 0, i > 10; i++) {}
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: Expected an identifier, but got '>'.
-//   for (int i = 0, i > 10; i++) {}
-//                     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  for (core::int* i = 0, core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
-  for (int i = 0, i > 10; i++) {}
-                  ^"; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
-  for (int i = 0, i > 10; i++) {}
-                    ^".>(10); i = i.+(1)) {
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31184.dart.legacy.transformed.expect
deleted file mode 100644
index 81eb8cc..0000000
--- a/pkg/front_end/testcases/regress/issue_31184.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
-//   for (int i = 0, i > 10; i++) {}
-//                   ^
-// pkg/front_end/testcases/regress/issue_31184.dart:6:12: Context: Previous declaration of 'i'.
-//   for (int i = 0, i > 10; i++) {}
-//            ^
-//
-// pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: Expected ';' after this.
-//   for (int i = 0, i > 10; i++) {}
-//                   ^
-//
-// pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: Expected an identifier, but got '>'.
-//   for (int i = 0, i > 10; i++) {}
-//                     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  for (core::int* i = 0, core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
-  for (int i = 0, i > 10; i++) {}
-                  ^"; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
-  for (int i = 0, i > 10; i++) {}
-                    ^".>(10); i = i.+(1)) {
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31185.dart.legacy.expect
deleted file mode 100644
index 92d46a0..0000000
--- a/pkg/front_end/testcases/regress/issue_31185.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31185.dart:8:12: Error: Expected ';' after this.
-//   return i ++ (i);
-//            ^^
-//
-// pkg/front_end/testcases/regress/issue_31185.dart:12:14: Error: Expected ';' after this.
-//   return (i) ++ (i);
-//              ^^
-//
-// pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
-//   return (i) ++ (i);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int* i = 5;
-static method test1() → core::int* {
-  return let final dynamic #t1 = self::i in let final dynamic #t2 = self::i = #t1.+(1) in #t1;
-  self::i;
-}
-static method test2() → core::int* {
-  return let final dynamic #t3 = self::i in let final dynamic #t4 = #t3 in let final dynamic #t5 = invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
-  return (i) ++ (i);
-           ^" in #t4;
-  self::i;
-}
-static method main() → dynamic {
-  self::test1();
-}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31185.dart.legacy.transformed.expect
deleted file mode 100644
index 92d46a0..0000000
--- a/pkg/front_end/testcases/regress/issue_31185.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31185.dart:8:12: Error: Expected ';' after this.
-//   return i ++ (i);
-//            ^^
-//
-// pkg/front_end/testcases/regress/issue_31185.dart:12:14: Error: Expected ';' after this.
-//   return (i) ++ (i);
-//              ^^
-//
-// pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
-//   return (i) ++ (i);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int* i = 5;
-static method test1() → core::int* {
-  return let final dynamic #t1 = self::i in let final dynamic #t2 = self::i = #t1.+(1) in #t1;
-  self::i;
-}
-static method test2() → core::int* {
-  return let final dynamic #t3 = self::i in let final dynamic #t4 = #t3 in let final dynamic #t5 = invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
-  return (i) ++ (i);
-           ^" in #t4;
-  self::i;
-}
-static method main() → dynamic {
-  self::test1();
-}
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31186.dart.legacy.expect
deleted file mode 100644
index 8f46e0f..0000000
--- a/pkg/front_end/testcases/regress/issue_31186.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31186.dart:6:16: Error: Expected an identifier, but got 'true'.
-//   return null?.true;
-//                ^^^^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31186.dart:6:16: Error: Expected an identifier, but got 'true'.
-  return null?.true;
-               ^^^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31186.dart.legacy.transformed.expect
deleted file mode 100644
index 8f46e0f..0000000
--- a/pkg/front_end/testcases/regress/issue_31186.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31186.dart:6:16: Error: Expected an identifier, but got 'true'.
-//   return null?.true;
-//                ^^^^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31186.dart:6:16: Error: Expected an identifier, but got 'true'.
-  return null?.true;
-               ^^^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31187.dart.legacy.expect
deleted file mode 100644
index 6126225..0000000
--- a/pkg/front_end/testcases/regress/issue_31187.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31187.dart:6:16: Error: Expected an identifier, but got '1'.
-//   return null?.1;
-//                ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31187.dart:6:16: Error: Expected an identifier, but got '1'.
-  return null?.1;
-               ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31187.dart.legacy.transformed.expect
deleted file mode 100644
index 6126225..0000000
--- a/pkg/front_end/testcases/regress/issue_31187.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31187.dart:6:16: Error: Expected an identifier, but got '1'.
-//   return null?.1;
-//                ^
-//
-import self as self;
-
-static method bad() → dynamic {
-  return invalid-expression "pkg/front_end/testcases/regress/issue_31187.dart:6:16: Error: Expected an identifier, but got '1'.
-  return null?.1;
-               ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31188.dart.legacy.expect
deleted file mode 100644
index 8f4d364..0000000
--- a/pkg/front_end/testcases/regress/issue_31188.dart.legacy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:17: Error: Expected ';' after this.
-// type T = Map<A, B>
-//                 ^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:18: Error: Expected a declaration, but got '>'.
-// type T = Map<A, B>
-//                  ^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Warning: Type 'type' not found.
-// type T = Map<A, B>
-// ^^^^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Warning: 'type' isn't a type.
-// type T = Map<A, B>
-// ^^^^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:14: Warning: Getter not found: 'A'.
-// type T = Map<A, B>
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field invalid-type T = core::Map<dynamic, dynamic>*.<(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-static field invalid-type B;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #A
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31188.dart.legacy.transformed.expect
deleted file mode 100644
index 8f4d364..0000000
--- a/pkg/front_end/testcases/regress/issue_31188.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:17: Error: Expected ';' after this.
-// type T = Map<A, B>
-//                 ^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:18: Error: Expected a declaration, but got '>'.
-// type T = Map<A, B>
-//                  ^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Warning: Type 'type' not found.
-// type T = Map<A, B>
-// ^^^^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:1: Warning: 'type' isn't a type.
-// type T = Map<A, B>
-// ^^^^
-//
-// pkg/front_end/testcases/regress/issue_31188.dart:7:14: Warning: Getter not found: 'A'.
-// type T = Map<A, B>
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field invalid-type T = core::Map<dynamic, dynamic>*.<(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 33, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-static field invalid-type B;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #A
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31190.dart.legacy.expect
deleted file mode 100644
index 31707d1..0000000
--- a/pkg/front_end/testcases/regress/issue_31190.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:3: Warning: Can't use type arguments with type variable 'T'.
-// Try removing the type arguments.
-//   T<U> v;
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:5: Warning: Type 'U' not found.
-//   T<U> v;
-//     ^
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:5: Warning: 'U' isn't a type.
-//   T<U> v;
-//     ^
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:3: Warning: Expected 0 type arguments.
-//   T<U> v;
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Typed<T extends core::Object* = dynamic> extends core::Object {
-  field invalid-type v = null;
-  synthetic constructor •() → self::Typed<self::Typed::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31190.dart.legacy.transformed.expect
deleted file mode 100644
index 31707d1..0000000
--- a/pkg/front_end/testcases/regress/issue_31190.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:3: Warning: Can't use type arguments with type variable 'T'.
-// Try removing the type arguments.
-//   T<U> v;
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:5: Warning: Type 'U' not found.
-//   T<U> v;
-//     ^
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:5: Warning: 'U' isn't a type.
-//   T<U> v;
-//     ^
-//
-// pkg/front_end/testcases/regress/issue_31190.dart:6:3: Warning: Expected 0 type arguments.
-//   T<U> v;
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Typed<T extends core::Object* = dynamic> extends core::Object {
-  field invalid-type v = null;
-  synthetic constructor •() → self::Typed<self::Typed::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31192.dart.legacy.expect
deleted file mode 100644
index b90922e..0000000
--- a/pkg/front_end/testcases/regress/issue_31192.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-//   Increment() : x++ {}
-//                 ^
-//
-// pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: Can't access 'this' in a field initializer to read 'x'.
-//   Increment() : x++ {}
-//                 ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Increment extends core::Object {
-  field core::int* x = null;
-  constructor •() → self::Increment*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: This couldn't be parsed.
-  Increment() : x++ {}
-                ^" {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31192.dart.legacy.transformed.expect
deleted file mode 100644
index b90922e..0000000
--- a/pkg/front_end/testcases/regress/issue_31192.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-//   Increment() : x++ {}
-//                 ^
-//
-// pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: Can't access 'this' in a field initializer to read 'x'.
-//   Increment() : x++ {}
-//                 ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Increment extends core::Object {
-  field core::int* x = null;
-  constructor •() → self::Increment*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31192.dart:7:17: Error: This couldn't be parsed.
-  Increment() : x++ {}
-                ^" {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31198.dart.legacy.expect
deleted file mode 100644
index c23342a..0000000
--- a/pkg/front_end/testcases/regress/issue_31198.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//   B(): super().foo() {}
-//        ^
-//
-// pkg/front_end/testcases/regress/issue_31198.dart:8:16: Error: Expected an initializer.
-//   B(): super().foo() {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  constructor •() → self::B*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-  B(): super().foo() {}
-       ^".foo() {}
-}
-static method bad() → dynamic {
-  new self::B::•();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31198.dart.legacy.transformed.expect
deleted file mode 100644
index c23342a..0000000
--- a/pkg/front_end/testcases/regress/issue_31198.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//   B(): super().foo() {}
-//        ^
-//
-// pkg/front_end/testcases/regress/issue_31198.dart:8:16: Error: Expected an initializer.
-//   B(): super().foo() {}
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  constructor •() → self::B*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31198.dart:8:8: Error: Can't use 'super' as an expression.
-To delegate a constructor to a super constructor, put the super call as an initializer.
-  B(): super().foo() {}
-       ^".foo() {}
-}
-static method bad() → dynamic {
-  new self::B::•();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31213.dart.legacy.expect
deleted file mode 100644
index a61f604..0000000
--- a/pkg/front_end/testcases/regress/issue_31213.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef C<A extends core::Object* = dynamic, K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-typedef D<K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B) →* core::int*;
-static method producer<K extends core::Object* = dynamic>() → dynamic {
-  return <A extends core::Object* = dynamic>(core::int* v1) → dynamic {
-    return <B extends core::Object* = dynamic>(A* v2, self::producer::K* v3, B* v4) → dynamic => 0;
-  };
-}
-static method main() → dynamic {
-  assert(self::producer<core::String*>() is <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A, core::String*, B) →* core::int*);
-}
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31213.dart.legacy.transformed.expect
deleted file mode 100644
index a61f604..0000000
--- a/pkg/front_end/testcases/regress/issue_31213.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef C<A extends core::Object* = dynamic, K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
-typedef D<K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B) →* core::int*;
-static method producer<K extends core::Object* = dynamic>() → dynamic {
-  return <A extends core::Object* = dynamic>(core::int* v1) → dynamic {
-    return <B extends core::Object* = dynamic>(A* v2, self::producer::K* v3, B* v4) → dynamic => 0;
-  };
-}
-static method main() → dynamic {
-  assert(self::producer<core::String*>() is <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A, core::String*, B) →* core::int*);
-}
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31299.dart.legacy.expect
deleted file mode 100644
index ed264d8..0000000
--- a/pkg/front_end/testcases/regress/issue_31299.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31299.dart:18:12: Warning: Too many positional arguments: 0 allowed, but 2 found.
-// Try removing the extra positional arguments.
-//   new A.foo(1, 2);
-//            ^
-// pkg/front_end/testcases/regress/issue_31299.dart:10:3: Context: Found this candidate, but the arguments don't match.
-//   A.foo() : m = 2;
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* m;
-  constructor •() → self::A*
-    : self::A::m = 1, super core::Object::•()
-    ;
-  constructor foo() → self::A*
-    : self::A::m = 2, super core::Object::•()
-    ;
-  method foo(core::int* a, core::int* b) → core::int*
-    return a.+(b.*(this.{self::A::m}));
-}
-static method test() → dynamic {
-  new self::A::•().foo();
-  new self::A::•().foo(1, 2);
-  new self::A::foo();
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>[1, 2]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31299.dart.legacy.transformed.expect
deleted file mode 100644
index ed264d8..0000000
--- a/pkg/front_end/testcases/regress/issue_31299.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31299.dart:18:12: Warning: Too many positional arguments: 0 allowed, but 2 found.
-// Try removing the extra positional arguments.
-//   new A.foo(1, 2);
-//            ^
-// pkg/front_end/testcases/regress/issue_31299.dart:10:3: Context: Found this candidate, but the arguments don't match.
-//   A.foo() : m = 2;
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* m;
-  constructor •() → self::A*
-    : self::A::m = 1, super core::Object::•()
-    ;
-  constructor foo() → self::A*
-    : self::A::m = 2, super core::Object::•()
-    ;
-  method foo(core::int* a, core::int* b) → core::int*
-    return a.+(b.*(this.{self::A::m}));
-}
-static method test() → dynamic {
-  new self::A::•().foo();
-  new self::A::•().foo(1, 2);
-  new self::A::foo();
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>[1, 2]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #foo
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31766.dart.legacy.expect
deleted file mode 100644
index c532f88..0000000
--- a/pkg/front_end/testcases/regress/issue_31766.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return null;
-}
-static method main() → dynamic {
-  function bar<T extends self::A = dynamic>(T t) → void {
-    core::print("t.foo()=${t.foo()}");
-  }
-  bar.call(new self::A::•());
-  (<S extends self::A = dynamic>(S s) → dynamic {
-    core::print("s.foo()=${s.foo()}");
-  }).call(new self::A::•());
-}
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31766.dart.legacy.transformed.expect
deleted file mode 100644
index c532f88..0000000
--- a/pkg/front_end/testcases/regress/issue_31766.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method foo() → dynamic
-    return null;
-}
-static method main() → dynamic {
-  function bar<T extends self::A = dynamic>(T t) → void {
-    core::print("t.foo()=${t.foo()}");
-  }
-  bar.call(new self::A::•());
-  (<S extends self::A = dynamic>(S s) → dynamic {
-    core::print("s.foo()=${s.foo()}");
-  }).call(new self::A::•());
-}
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31846.dart.legacy.expect
deleted file mode 100644
index c366149..0000000
--- a/pkg/front_end/testcases/regress/issue_31846.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print((#C1) is () →* dynamic);
-  core::print((<T extends core::Object* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::num* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::Comparable<T>* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::Comparable<S>* = dynamic, S extends core::Object* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends (T) →* dynamic = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::List<core::List<T>*>* = dynamic>(T* x) → dynamic => x).runtimeType);
-}
-
-constants  {
-  #C1 = tearoff self::main
-}
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31846.dart.legacy.transformed.expect
deleted file mode 100644
index c366149..0000000
--- a/pkg/front_end/testcases/regress/issue_31846.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print((#C1) is () →* dynamic);
-  core::print((<T extends core::Object* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::num* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::Comparable<T>* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::Comparable<S>* = dynamic, S extends core::Object* = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends (T) →* dynamic = dynamic>(T* x) → dynamic => x).runtimeType);
-  core::print((<T extends core::List<core::List<T>*>* = dynamic>(T* x) → dynamic => x).runtimeType);
-}
-
-constants  {
-  #C1 = tearoff self::main
-}
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_31996.dart.legacy.expect
deleted file mode 100644
index bbe2de8..0000000
--- a/pkg/front_end/testcases/regress/issue_31996.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class Base extends core::Object implements self::B<dynamic> {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Child1 extends self::Base implements self::C<core::int*> {
-  synthetic constructor •() → self::Child1*
-    : super self::Base::•()
-    ;
-}
-class Child2 extends self::Base implements self::C<core::double*> {
-  synthetic constructor •() → self::Child2*
-    : super self::Base::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_31996.dart.legacy.transformed.expect
deleted file mode 100644
index bbe2de8..0000000
--- a/pkg/front_end/testcases/regress/issue_31996.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class Base extends core::Object implements self::B<dynamic> {
-  synthetic constructor •() → self::Base*
-    : super core::Object::•()
-    ;
-}
-class Child1 extends self::Base implements self::C<core::int*> {
-  synthetic constructor •() → self::Child1*
-    : super self::Base::•()
-    ;
-}
-class Child2 extends self::Base implements self::C<core::double*> {
-  synthetic constructor •() → self::Child2*
-    : super self::Base::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect
deleted file mode 100644
index d994bc5..0000000
--- a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_32182.dart" as self;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return 42;
-}
-abstract class _C&A&M = self::A<self::A<dynamic>*> with self::M {
-  synthetic constructor •() → self::_C&A&M*
-    : super self::A::•()
-    ;
-}
-class C extends self::_C&A&M {
-  synthetic constructor •() → self::C*
-    : super self::_C&A&M::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•().m().+(1);
-}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect
deleted file mode 100644
index 2407be7..0000000
--- a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_32182.dart" as self;
-
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return 42;
-}
-abstract class _C&A&M extends self::A<self::A<dynamic>*> implements self::M {
-  synthetic constructor •() → self::_C&A&M*
-    : super self::A::•()
-    ;
-  method m() → dynamic
-    return 42;
-}
-class C extends self::_C&A&M {
-  synthetic constructor •() → self::C*
-    : super self::_C&A&M::•()
-    ;
-}
-static method main() → dynamic {
-  new self::C::•().m().+(1);
-}
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32196.dart.legacy.expect
deleted file mode 100644
index a9d3c84..0000000
--- a/pkg/front_end/testcases/regress/issue_32196.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* name;
-  constructor get(core::String* name) → self::A*
-    : self::A::name = name, super core::Object::•()
-    ;
-  constructor set(core::String* name) → self::A*
-    : self::A::name = name, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::A::get("get");
-  new self::A::set("set");
-}
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32196.dart.legacy.transformed.expect
deleted file mode 100644
index a9d3c84..0000000
--- a/pkg/front_end/testcases/regress/issue_32196.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  final field core::String* name;
-  constructor get(core::String* name) → self::A*
-    : self::A::name = name, super core::Object::•()
-    ;
-  constructor set(core::String* name) → self::A*
-    : self::A::name = name, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  new self::A::get("get");
-  new self::A::set("set");
-}
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32200.dart.legacy.expect
deleted file mode 100644
index 41bf04c..0000000
--- a/pkg/front_end/testcases/regress/issue_32200.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_32200.dart:8:3: Warning: 'self.Foo' can't be used as a type because 'self' doesn't refer to an import prefix.
-//   self.Foo self;
-//   ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_32200.dart" as self;
-
-class Foo extends core::Object {
-  field invalid-type self = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::Foo* instance = new self::Foo::•();
-  instance.self = instance;
-}
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32200.dart.legacy.transformed.expect
deleted file mode 100644
index 41bf04c..0000000
--- a/pkg/front_end/testcases/regress/issue_32200.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_32200.dart:8:3: Warning: 'self.Foo' can't be used as a type because 'self' doesn't refer to an import prefix.
-//   self.Foo self;
-//   ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_32200.dart" as self;
-
-class Foo extends core::Object {
-  field invalid-type self = null;
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::Foo* instance = new self::Foo::•();
-  instance.self = instance;
-}
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect
deleted file mode 100644
index a2e90b8..0000000
--- a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Warning: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
-//   foo(int x) => x;
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y});
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:24:7: Context: Both members are inherited by the non-abstract class 'E'.
-// class E extends D {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Warning: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
-//   foo(int x) => x;
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y}) => y;
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
-// class C extends A implements B {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → dynamic
-    return x;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x, {core::int* y = #C1}) → dynamic
-    return y;
-}
-class C extends self::A implements self::B {
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print("No such method!");
-    return 42;
-  }
-  abstract forwarding-stub method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → dynamic
-    return x;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print(i.namedArguments);
-    return 42;
-  }
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  self::E* e = new self::E::•();
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect
deleted file mode 100644
index a2e90b8..0000000
--- a/pkg/front_end/testcases/regress/issue_32660.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_32660.dart:21:3: Warning: The method 'D.foo' has fewer named arguments than those of overridden method 'E.foo'.
-//   foo(int x) => x;
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:25:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y});
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:24:7: Context: Both members are inherited by the non-abstract class 'E'.
-// class E extends D {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_32660.dart:6:3: Warning: The method 'A.foo' has fewer named arguments than those of overridden method 'B.foo'.
-//   foo(int x) => x;
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:10:3: Context: This is the overridden method ('foo').
-//   foo(int x, {int y}) => y;
-//   ^
-// pkg/front_end/testcases/regress/issue_32660.dart:13:7: Context: Both members are inherited by the non-abstract class 'C'.
-// class C extends A implements B {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → dynamic
-    return x;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x, {core::int* y = #C1}) → dynamic
-    return y;
-}
-class C extends self::A implements self::B {
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print("No such method!");
-    return 42;
-  }
-  abstract forwarding-stub method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  method foo(core::int* x) → dynamic
-    return x;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
-  method noSuchMethod(core::Invocation* i) → dynamic {
-    core::print(i.namedArguments);
-    return 42;
-  }
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  self::E* e = new self::E::•();
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32972.dart.legacy.expect
deleted file mode 100644
index fe7df5c..0000000
--- a/pkg/front_end/testcases/regress/issue_32972.dart.legacy.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_32972.dart:22:3: Warning: Expected 1 type arguments.
-//   foo<String, String>("hello world");
-//   ^
-// pkg/front_end/testcases/regress/issue_32972.dart:5:6: Context: Found this candidate, but the arguments don't match.
-// void foo<X>(X i) {
-//      ^^^
-//
-// pkg/front_end/testcases/regress/issue_32972.dart:24:7: Warning: Expected 1 type arguments.
-//   Foo.foo<int, int>(42);
-//       ^
-// pkg/front_end/testcases/regress/issue_32972.dart:10:10: Context: Found this candidate, but the arguments don't match.
-//   static foo<X>(X i) {
-//          ^^^
-//
-// pkg/front_end/testcases/regress/issue_32972.dart:29:7: Warning: Expected 2 type arguments.
-//   new Bar<String>();
-//       ^
-// pkg/front_end/testcases/regress/issue_32972.dart:19:7: Context: The class 'Bar' has a constructor that takes no arguments.
-// class Bar<X, Y> {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  static method foo<X extends core::Object* = dynamic>(self::Foo::foo::X* i) → dynamic {
-    core::print(i);
-  }
-  method bar<X extends core::Object* = dynamic>(self::Foo::bar::X* i) → dynamic {
-    core::print(i);
-  }
-}
-class Bar<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::X*, self::Bar::Y*>*
-    : super core::Object::•()
-    ;
-}
-static method foo<X extends core::Object* = dynamic>(self::foo::X* i) → void {
-  core::print(i);
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*, core::String*]), core::List::unmodifiable<dynamic>(<dynamic>["hello world"]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-  self::foo<core::String*>("hello world");
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::int*, core::int*]), core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-  self::Foo::foo<core::int*>(42);
-  self::Foo* f = new self::Foo::•();
-  f.bar<core::double*, core::double*>(42.42);
-  f.bar<core::double*>(42.42);
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C4, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*]), #C2, core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-  new self::Bar::•<core::String*, core::String*>();
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <dynamic>[]
-  #C3 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C2}
-  #C4 = #
-}
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32972.dart.legacy.transformed.expect
deleted file mode 100644
index fe7df5c..0000000
--- a/pkg/front_end/testcases/regress/issue_32972.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_32972.dart:22:3: Warning: Expected 1 type arguments.
-//   foo<String, String>("hello world");
-//   ^
-// pkg/front_end/testcases/regress/issue_32972.dart:5:6: Context: Found this candidate, but the arguments don't match.
-// void foo<X>(X i) {
-//      ^^^
-//
-// pkg/front_end/testcases/regress/issue_32972.dart:24:7: Warning: Expected 1 type arguments.
-//   Foo.foo<int, int>(42);
-//       ^
-// pkg/front_end/testcases/regress/issue_32972.dart:10:10: Context: Found this candidate, but the arguments don't match.
-//   static foo<X>(X i) {
-//          ^^^
-//
-// pkg/front_end/testcases/regress/issue_32972.dart:29:7: Warning: Expected 2 type arguments.
-//   new Bar<String>();
-//       ^
-// pkg/front_end/testcases/regress/issue_32972.dart:19:7: Context: The class 'Bar' has a constructor that takes no arguments.
-// class Bar<X, Y> {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  static method foo<X extends core::Object* = dynamic>(self::Foo::foo::X* i) → dynamic {
-    core::print(i);
-  }
-  method bar<X extends core::Object* = dynamic>(self::Foo::bar::X* i) → dynamic {
-    core::print(i);
-  }
-}
-class Bar<X extends core::Object* = dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bar<self::Bar::X*, self::Bar::Y*>*
-    : super core::Object::•()
-    ;
-}
-static method foo<X extends core::Object* = dynamic>(self::foo::X* i) → void {
-  core::print(i);
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*, core::String*]), core::List::unmodifiable<dynamic>(<dynamic>["hello world"]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-  self::foo<core::String*>("hello world");
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::int*, core::int*]), core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-  self::Foo::foo<core::int*>(42);
-  self::Foo* f = new self::Foo::•();
-  f.bar<core::double*, core::double*>(42.42);
-  f.bar<core::double*>(42.42);
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C4, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*]), #C2, core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-  new self::Bar::•<core::String*, core::String*>();
-}
-
-constants  {
-  #C1 = #foo
-  #C2 = <dynamic>[]
-  #C3 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C2}
-  #C4 = #
-}
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_33452.dart.legacy.expect
deleted file mode 100644
index e0113f6..0000000
--- a/pkg/front_end/testcases/regress/issue_33452.dart.legacy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:10:29: Warning: Method not found: 'ExistingClass.nonExistingConstructor'.
-//   var x = new ExistingClass.nonExistingConstructor();
-//                             ^^^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:11:11: Warning: Method not found: 'ExistingClass'.
-//   x = new ExistingClass();
-//           ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:12:11: Warning: Method not found: 'ExistingClass'.
-//   x = new ExistingClass<String>();
-//           ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:13:33: Warning: Method not found: 'ExistingClass.nonExistingConstructor'.
-//   x = new ExistingClass<String>.nonExistingConstructor();
-//                                 ^^^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:14:41: Warning: Method not found: 'ExistingClass.nonExistingConstructor'.
-//   x = new ExistingClass<String, String>.nonExistingConstructor();
-//                                         ^^^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:15:11: Warning: Method not found: 'NonExistingClass'.
-//   x = new NonExistingClass();
-//           ^^^^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class ExistingClass extends core::Object {
-  constructor existingConstructor() → self::ExistingClass*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*]), #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*]), #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*, core::String*]), #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #ExistingClass.nonExistingConstructor
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #ExistingClass
-  #C6 = #NonExistingClass
-}
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_33452.dart.legacy.transformed.expect
deleted file mode 100644
index e0113f6..0000000
--- a/pkg/front_end/testcases/regress/issue_33452.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:10:29: Warning: Method not found: 'ExistingClass.nonExistingConstructor'.
-//   var x = new ExistingClass.nonExistingConstructor();
-//                             ^^^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:11:11: Warning: Method not found: 'ExistingClass'.
-//   x = new ExistingClass();
-//           ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:12:11: Warning: Method not found: 'ExistingClass'.
-//   x = new ExistingClass<String>();
-//           ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:13:33: Warning: Method not found: 'ExistingClass.nonExistingConstructor'.
-//   x = new ExistingClass<String>.nonExistingConstructor();
-//                                 ^^^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:14:41: Warning: Method not found: 'ExistingClass.nonExistingConstructor'.
-//   x = new ExistingClass<String, String>.nonExistingConstructor();
-//                                         ^^^^^^^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_33452.dart:15:11: Warning: Method not found: 'NonExistingClass'.
-//   x = new NonExistingClass();
-//           ^^^^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class ExistingClass extends core::Object {
-  constructor existingConstructor() → self::ExistingClass*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C5, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*]), #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*]), #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[core::String*, core::String*]), #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-  x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C6, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #ExistingClass.nonExistingConstructor
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #ExistingClass
-  #C6 = #NonExistingClass
-}
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_33672.dart.legacy.expect
deleted file mode 100644
index e805d8f..0000000
--- a/pkg/front_end/testcases/regress/issue_33672.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int* count = 0;
-  #L1:
-  for (core::int* a = 0; a.<(10); a = a.+(1)) {
-    for (core::int* b = 0; b.<(10); b = b.+(1)) {
-      count = count.+(1);
-      if(count.==(27))
-        break #L1;
-    }
-    count = count.+(1);
-  }
-  if(!count.==(27))
-    throw "failed: ${count}";
-}
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_33672.dart.legacy.transformed.expect
deleted file mode 100644
index e805d8f..0000000
--- a/pkg/front_end/testcases/regress/issue_33672.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int* count = 0;
-  #L1:
-  for (core::int* a = 0; a.<(10); a = a.+(1)) {
-    for (core::int* b = 0; b.<(10); b = b.+(1)) {
-      count = count.+(1);
-      if(count.==(27))
-        break #L1;
-    }
-    count = count.+(1);
-  }
-  if(!count.==(27))
-    throw "failed: ${count}";
-}
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect
deleted file mode 100644
index 4e0472e..0000000
--- a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34225.dart:6:14: Error: A class member can't have the same name as the enclosing class.
-//   static set C(v) {} //# 01: compile-time error
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_34225.dart:10:7: Error: A class member can't have the same name as the enclosing class.
-//   set D(v) {} //# 02: compile-time error
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static set C(dynamic v) → void {}
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  set D(dynamic v) → void {}
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  c.C = 5;
-  dynamic d = new self::D::•();
-  d.D = 5;
-}
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect
deleted file mode 100644
index 4e0472e..0000000
--- a/pkg/front_end/testcases/regress/issue_34225.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34225.dart:6:14: Error: A class member can't have the same name as the enclosing class.
-//   static set C(v) {} //# 01: compile-time error
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_34225.dart:10:7: Error: A class member can't have the same name as the enclosing class.
-//   set D(v) {} //# 02: compile-time error
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static set C(dynamic v) → void {}
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  set D(dynamic v) → void {}
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  c.C = 5;
-  dynamic d = new self::D::•();
-  d.D = 5;
-}
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34291.dart.legacy.expect
deleted file mode 100644
index 80650e7..0000000
--- a/pkg/front_end/testcases/regress/issue_34291.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "issue_34291_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue_34291_lib.dart" as lib;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → iss::A* {}
-static method main() → dynamic {}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → iss::A*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34291.dart.legacy.transformed.expect
deleted file mode 100644
index 80650e7..0000000
--- a/pkg/front_end/testcases/regress/issue_34291.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "issue_34291_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue_34291_lib.dart" as lib;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static method foo() → iss::A* {}
-static method main() → dynamic {}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → iss::A*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34403.dart.legacy.expect
deleted file mode 100644
index d01627e..0000000
--- a/pkg/front_end/testcases/regress/issue_34403.dart.legacy.expect
+++ /dev/null
@@ -1,149 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:16:14: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c1 = C.bar<int>();
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:18:18: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c2 = new C.bar<int>();
-//                  ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:20:22: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c3 = C<String>.bar<int>();
-//                      ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:22:26: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c4 = new C<String>.bar<int>();
-//                          ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:25:16: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d1 = D.foo<int>();
-//                ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:27:22: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d2 = const D.foo<int>();
-//                      ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:29:24: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d3 = D<String>.foo<int>();
-//                        ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:31:30: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d4 = const D<String>.foo<int>();
-//                              ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:34:16: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e1 = p.E.bar<int>();
-//                ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:36:20: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e2 = new p.E.bar<int>();
-//                    ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:38:24: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e3 = p.E<String>.bar<int>();
-//                        ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:40:28: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e4 = new p.E<String>.bar<int>();
-//                            ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:43:18: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f1 = p.F.foo<int>();
-//                  ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:45:24: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f2 = const p.F.foo<int>();
-//                        ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:47:26: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f3 = p.F<String>.foo<int>();
-//                          ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:49:32: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f4 = const p.F<String>.foo<int>();
-//                                ^^^
-//
-import self as self;
-import "dart:core" as core;
-import "issue_34403_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  const constructor foo() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic c1 = new self::C::bar<core::int*>();
-  c1.toString();
-  dynamic c2 = new self::C::bar<core::int*>();
-  c2.toString();
-  dynamic c3 = new self::C::bar<core::String*>();
-  c3.toString();
-  dynamic c4 = new self::C::bar<core::String*>();
-  c4.toString();
-  (#C1).toString();
-  (#C1).toString();
-  (#C2).toString();
-  (#C2).toString();
-  dynamic e1 = new iss::E::bar<core::int*>();
-  e1.toString();
-  dynamic e2 = new iss::E::bar<dynamic>();
-  e2.toString();
-  dynamic e3 = new iss::E::bar<core::String*>();
-  e3.toString();
-  dynamic e4 = new iss::E::bar<core::String*>();
-  e4.toString();
-  (#C3).toString();
-  (#C4).toString();
-  (#C5).toString();
-  (#C5).toString();
-}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-class E<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → iss::E<iss::E::T*>*
-    : super core::Object::•()
-    ;
-}
-class F<T extends core::Object* = dynamic> extends core::Object {
-  const constructor foo() → iss::F<iss::F::T*>*
-    : super core::Object::•()
-    ;
-}
-
-constants  {
-  #C1 = self::D<core::int*> {}
-  #C2 = self::D<core::String*> {}
-  #C3 = iss::F<core::int*> {}
-  #C4 = iss::F<dynamic> {}
-  #C5 = iss::F<core::String*> {}
-}
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34403.dart.legacy.transformed.expect
deleted file mode 100644
index d01627e..0000000
--- a/pkg/front_end/testcases/regress/issue_34403.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,149 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:16:14: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c1 = C.bar<int>();
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:18:18: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c2 = new C.bar<int>();
-//                  ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:20:22: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c3 = C<String>.bar<int>();
-//                      ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:22:26: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var c4 = new C<String>.bar<int>();
-//                          ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:25:16: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d1 = D.foo<int>();
-//                ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:27:22: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d2 = const D.foo<int>();
-//                      ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:29:24: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d3 = D<String>.foo<int>();
-//                        ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:31:30: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const d4 = const D<String>.foo<int>();
-//                              ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:34:16: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e1 = p.E.bar<int>();
-//                ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:36:20: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e2 = new p.E.bar<int>();
-//                    ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:38:24: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e3 = p.E<String>.bar<int>();
-//                        ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:40:28: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   var e4 = new p.E<String>.bar<int>();
-//                            ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:43:18: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f1 = p.F.foo<int>();
-//                  ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:45:24: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f2 = const p.F.foo<int>();
-//                        ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:47:26: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f3 = p.F<String>.foo<int>();
-//                          ^^^
-//
-// pkg/front_end/testcases/regress/issue_34403.dart:49:32: Error: A constructor invocation can't have type arguments on the constructor name.
-// Try to place the type arguments on the class name.
-//   const f4 = const p.F<String>.foo<int>();
-//                                ^^^
-//
-import self as self;
-import "dart:core" as core;
-import "issue_34403_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue_34403_lib.dart" as p;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-}
-class D<T extends core::Object* = dynamic> extends core::Object {
-  const constructor foo() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic c1 = new self::C::bar<core::int*>();
-  c1.toString();
-  dynamic c2 = new self::C::bar<core::int*>();
-  c2.toString();
-  dynamic c3 = new self::C::bar<core::String*>();
-  c3.toString();
-  dynamic c4 = new self::C::bar<core::String*>();
-  c4.toString();
-  (#C1).toString();
-  (#C1).toString();
-  (#C2).toString();
-  (#C2).toString();
-  dynamic e1 = new iss::E::bar<core::int*>();
-  e1.toString();
-  dynamic e2 = new iss::E::bar<dynamic>();
-  e2.toString();
-  dynamic e3 = new iss::E::bar<core::String*>();
-  e3.toString();
-  dynamic e4 = new iss::E::bar<core::String*>();
-  e4.toString();
-  (#C3).toString();
-  (#C4).toString();
-  (#C5).toString();
-  (#C5).toString();
-}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-class E<T extends core::Object* = dynamic> extends core::Object {
-  constructor bar() → iss::E<iss::E::T*>*
-    : super core::Object::•()
-    ;
-}
-class F<T extends core::Object* = dynamic> extends core::Object {
-  const constructor foo() → iss::F<iss::F::T*>*
-    : super core::Object::•()
-    ;
-}
-
-constants  {
-  #C1 = self::D<core::int*> {}
-  #C2 = self::D<core::String*> {}
-  #C3 = iss::F<core::int*> {}
-  #C4 = iss::F<dynamic> {}
-  #C5 = iss::F<core::String*> {}
-}
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34498.dart.legacy.expect
deleted file mode 100644
index 6418917..0000000
--- a/pkg/front_end/testcases/regress/issue_34498.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:8:3: Warning: 'lib.MyClass' can't be used as a type because 'lib' doesn't refer to an import prefix.
-//   lib.MyClass get lib => null; // (1)
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:10:3: Warning: 'foo' isn't a type.
-//   foo foo() {}
-//   ^^^
-// pkg/front_end/testcases/regress/issue_34498.dart:10:7: Context: This isn't a type.
-//   foo foo() {}
-//       ^^^
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:20:3: Warning: Can't use type arguments with type variable 'T'.
-// Try removing the type arguments.
-//   T<String> foo() {}
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:12:3: Warning: Type 'Missing' not found.
-//   Missing bar() {}
-//   ^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_34498_lib.dart" as lib;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get lib() → invalid-type
-    return null;
-  method foo() → invalid-type {}
-  method bar() → invalid-type {}
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → invalid-type {}
-}
-static final field self::A* a = null;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class MyClass extends core::Object {
-  synthetic constructor •() → self2::MyClass*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34498.dart.legacy.transformed.expect
deleted file mode 100644
index 6418917..0000000
--- a/pkg/front_end/testcases/regress/issue_34498.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:8:3: Warning: 'lib.MyClass' can't be used as a type because 'lib' doesn't refer to an import prefix.
-//   lib.MyClass get lib => null; // (1)
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:10:3: Warning: 'foo' isn't a type.
-//   foo foo() {}
-//   ^^^
-// pkg/front_end/testcases/regress/issue_34498.dart:10:7: Context: This isn't a type.
-//   foo foo() {}
-//       ^^^
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:20:3: Warning: Can't use type arguments with type variable 'T'.
-// Try removing the type arguments.
-//   T<String> foo() {}
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_34498.dart:12:3: Warning: Type 'Missing' not found.
-//   Missing bar() {}
-//   ^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_34498_lib.dart" as lib;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get lib() → invalid-type
-    return null;
-  method foo() → invalid-type {}
-  method bar() → invalid-type {}
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method foo() → invalid-type {}
-}
-static final field self::A* a = null;
-static method main() → dynamic {}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class MyClass extends core::Object {
-  synthetic constructor •() → self2::MyClass*
-    : super core::Object::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34563.dart.legacy.expect
deleted file mode 100644
index 9c7a765..0000000
--- a/pkg/front_end/testcases/regress/issue_34563.dart.legacy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:9:10: Error: Expected 'on' instead of this.
-// mixin M2 extend M1 {}
-//          ^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:11:10: Error: Expected 'on' instead of this.
-// mixin M3 extends M1 {}
-//          ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:17:10: Error: Expected 'extends' instead of this.
-// class C2 extend C1 with M2 {}
-//          ^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:19:10: Error: Expected 'extends' instead of this.
-// class C3 on C1 with M3 {}
-//          ^^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class M1 extends core::Object {
-  get m() → core::int*
-    return 1;
-}
-abstract class M2 extends core::Object {
-}
-abstract class M3 extends core::Object {
-}
-class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
-    : super core::Object::•()
-    ;
-  get c() → core::int*
-    return 2;
-}
-class C2 extends core::Object {
-  synthetic constructor •() → self::C2*
-    : super core::Object::•()
-    ;
-}
-class C3 extends core::Object {
-  synthetic constructor •() → self::C3*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic c2 = new self::C2::•();
-  c2.m.+(c2.c);
-  dynamic c3 = new self::C3::•();
-  c3.m.+(c3.c);
-}
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34563.dart.legacy.transformed.expect
deleted file mode 100644
index 9c7a765..0000000
--- a/pkg/front_end/testcases/regress/issue_34563.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:9:10: Error: Expected 'on' instead of this.
-// mixin M2 extend M1 {}
-//          ^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:11:10: Error: Expected 'on' instead of this.
-// mixin M3 extends M1 {}
-//          ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:17:10: Error: Expected 'extends' instead of this.
-// class C2 extend C1 with M2 {}
-//          ^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34563.dart:19:10: Error: Expected 'extends' instead of this.
-// class C3 on C1 with M3 {}
-//          ^^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class M1 extends core::Object {
-  get m() → core::int*
-    return 1;
-}
-abstract class M2 extends core::Object {
-}
-abstract class M3 extends core::Object {
-}
-class C1 extends core::Object {
-  synthetic constructor •() → self::C1*
-    : super core::Object::•()
-    ;
-  get c() → core::int*
-    return 2;
-}
-class C2 extends core::Object {
-  synthetic constructor •() → self::C2*
-    : super core::Object::•()
-    ;
-}
-class C3 extends core::Object {
-  synthetic constructor •() → self::C3*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic c2 = new self::C2::•();
-  c2.m.+(c2.c);
-  dynamic c3 = new self::C3::•();
-  c3.m.+(c3.c);
-}
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34610.dart.legacy.expect
deleted file mode 100644
index 719513c..0000000
--- a/pkg/front_end/testcases/regress/issue_34610.dart.legacy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:16: Error: Expected '{' before this.
-// class A { get A.named => null; get bar => 1; }
-//                ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:15: Error: A class member can't have the same name as the enclosing class.
-// class A { get A.named => null; get bar => 1; }
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:16: Error: Expected a class member, but got '.'.
-// class A { get A.named => null; get bar => 1; }
-//                ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class A { get A.named => null; get bar => 1; }
-//                 ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:7:11: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class B { B.named : super(); get bar => 1; }
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:9:11: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class C { C.named => null; get bar => 1; }
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
-// Try removing the return type.
-// class C { C.named => null; get bar => 1; }
-//                      ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get A() → dynamic {}
-  method named() → dynamic
-    return null;
-  get bar() → dynamic
-    return 1;
-}
-class B extends core::Object {
-  constructor named() → self::B*
-    : super core::Object::•()
-    ;
-  get bar() → dynamic
-    return 1;
-}
-class C extends core::Object {
-  constructor named() → self::C*
-    : super core::Object::•()
-    invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
-Try removing the return type.
-class C { C.named => null; get bar => 1; }
-                     ^";
-  get bar() → dynamic
-    return 1;
-}
-static method main() → dynamic {
-  core::print(new self::A::•().bar);
-  core::print(new self::B::named().bar);
-  try {
-    core::print(new self::C::named().bar);
-    throw "expected exception";
-  }
-  on dynamic catch(final dynamic e) {
-  }
-}
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34610.dart.legacy.transformed.expect
deleted file mode 100644
index 719513c..0000000
--- a/pkg/front_end/testcases/regress/issue_34610.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:16: Error: Expected '{' before this.
-// class A { get A.named => null; get bar => 1; }
-//                ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:15: Error: A class member can't have the same name as the enclosing class.
-// class A { get A.named => null; get bar => 1; }
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:16: Error: Expected a class member, but got '.'.
-// class A { get A.named => null; get bar => 1; }
-//                ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:5:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class A { get A.named => null; get bar => 1; }
-//                 ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:7:11: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class B { B.named : super(); get bar => 1; }
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:9:11: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class C { C.named => null; get bar => 1; }
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
-// Try removing the return type.
-// class C { C.named => null; get bar => 1; }
-//                      ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get A() → dynamic {}
-  method named() → dynamic
-    return null;
-  get bar() → dynamic
-    return 1;
-}
-class B extends core::Object {
-  constructor named() → self::B*
-    : super core::Object::•()
-    ;
-  get bar() → dynamic
-    return 1;
-}
-class C extends core::Object {
-  constructor named() → self::C*
-    : super core::Object::•()
-    invalid-expression "pkg/front_end/testcases/regress/issue_34610.dart:9:22: Error: Constructors can't have a return type.
-Try removing the return type.
-class C { C.named => null; get bar => 1; }
-                     ^";
-  get bar() → dynamic
-    return 1;
-}
-static method main() → dynamic {
-  core::print(new self::A::•().bar);
-  core::print(new self::B::named().bar);
-  try {
-    core::print(new self::C::named().bar);
-    throw "expected exception";
-  }
-  on dynamic catch(final dynamic e) {
-  }
-}
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34614.dart.legacy.expect
deleted file mode 100644
index 8610e2f..0000000
--- a/pkg/front_end/testcases/regress/issue_34614.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34614.dart:5:14: Error: Expected an identifier, but got '}'.
-// class C { C. }
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_34614.dart:5:11: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class C { C. }
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_34614.dart:5:14: Error: Expected '{' before this.
-// class C { C. }
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  c.toString();
-}
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34614.dart.legacy.transformed.expect
deleted file mode 100644
index 8610e2f..0000000
--- a/pkg/front_end/testcases/regress/issue_34614.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34614.dart:5:14: Error: Expected an identifier, but got '}'.
-// class C { C. }
-//              ^
-//
-// pkg/front_end/testcases/regress/issue_34614.dart:5:11: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-// class C { C. }
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_34614.dart:5:14: Error: Expected '{' before this.
-// class C { C. }
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  c.toString();
-}
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_34850.dart.legacy.expect
deleted file mode 100644
index b757c0e..0000000
--- a/pkg/front_end/testcases/regress/issue_34850.dart.legacy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:5:1: Error: Expected a declaration, but got '<'.
-// <foo<
-// ^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:7:1: Error: Expected '>' after this.
-// int f1() {
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:12:8: Error: Expected '>' after this.
-// Future<List<int>> f2() async => null;
-//        ^^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:12:1: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// Future<List<int>> f2() async => null;
-// ^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:12:19: Error: Expected '{' before this.
-// Future<List<int>> f2() async => null;
-//                   ^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:14:13: Error: Expected a type, but got '>>'.
-// Future<List<>> f3() async {
-//             ^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:5:2: Warning: Type 'foo' not found.
-// <foo<
-//  ^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:11:1: Warning: Type 'foo' not found.
-// foo
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:14:1: Warning: 'Future' isn't a type.
-// Future<List<>> f3() async {
-// ^^^^^^
-// pkg/front_end/testcases/regress/issue_34850.dart:12:1: Context: This isn't a type.
-// Future<List<int>> f2() async => null;
-// ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method f1() → invalid-type {
-  return null;
-}
-static method Future<List extends core::Object* = dynamic>() → invalid-type {}
-static method f2() → dynamic async 
-  return null;
-static method f3() → invalid-type async {
-  return null;
-}
-static method main() → dynamic async {
-  core::print(self::f1());
-  core::print(await self::f2());
-  core::print(await self::f3());
-}
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_34850.dart.legacy.transformed.expect
deleted file mode 100644
index e483173..0000000
--- a/pkg/front_end/testcases/regress/issue_34850.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,137 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:5:1: Error: Expected a declaration, but got '<'.
-// <foo<
-// ^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:7:1: Error: Expected '>' after this.
-// int f1() {
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:12:8: Error: Expected '>' after this.
-// Future<List<int>> f2() async => null;
-//        ^^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:12:1: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// Future<List<int>> f2() async => null;
-// ^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:12:19: Error: Expected '{' before this.
-// Future<List<int>> f2() async => null;
-//                   ^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:14:13: Error: Expected a type, but got '>>'.
-// Future<List<>> f3() async {
-//             ^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:5:2: Warning: Type 'foo' not found.
-// <foo<
-//  ^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:11:1: Warning: Type 'foo' not found.
-// foo
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_34850.dart:14:1: Warning: 'Future' isn't a type.
-// Future<List<>> f3() async {
-// ^^^^^^
-// pkg/front_end/testcases/regress/issue_34850.dart:12:1: Context: This isn't a type.
-// Future<List<int>> f2() async => null;
-// ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-static method f1() → invalid-type {
-  return null;
-}
-static method Future<List extends core::Object* = dynamic>() → invalid-type {}
-static method f2() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = null;
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method f3() → invalid-type /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = null;
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L3:
-      {
-        core::print(self::f1());
-        [yield] let dynamic #t1 = asy::_awaitHelper(self::f2(), :async_op_then, :async_op_error, :async_op) in null;
-        core::print(:result);
-        [yield] let dynamic #t2 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error, :async_op) in null;
-        core::print(:result);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35151.dart.legacy.expect
deleted file mode 100644
index 7402261..0000000
--- a/pkg/front_end/testcases/regress/issue_35151.dart.legacy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: A field can only be initialized in it's declaring class
-// Try passing a value into the superclass constructor, or moving the initialization into the constructor body.
-//   B() : super.a = 42;
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
-// To initialize a field, use the syntax 'name = value'.
-//   B() : super.a = 42;
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
-//   C() : super = 42;
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  constructor •() → self::B*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
-To initialize a field, use the syntax 'name = value'.
-  B() : super.a = 42;
-              ^"
-    ;
-}
-class C extends core::Object {
-  constructor •() → self::C*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
-  C() : super = 42;
-        ^^^^^"
-    ;
-}
-static method main() → dynamic {
-  try {
-    dynamic b = new self::B::•();
-  }
-  on dynamic catch(final dynamic _) {
-  }
-  try {
-    dynamic c = new self::C::•();
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35151.dart.legacy.transformed.expect
deleted file mode 100644
index 7402261..0000000
--- a/pkg/front_end/testcases/regress/issue_35151.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: A field can only be initialized in it's declaring class
-// Try passing a value into the superclass constructor, or moving the initialization into the constructor body.
-//   B() : super.a = 42;
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
-// To initialize a field, use the syntax 'name = value'.
-//   B() : super.a = 42;
-//               ^
-//
-// pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
-//   C() : super = 42;
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  constructor •() → self::B*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:10:15: Error: Not a valid initializer.
-To initialize a field, use the syntax 'name = value'.
-  B() : super.a = 42;
-              ^"
-    ;
-}
-class C extends core::Object {
-  constructor •() → self::C*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/regress/issue_35151.dart:14:9: Error: Can't access 'super' in a field initializer.
-  C() : super = 42;
-        ^^^^^"
-    ;
-}
-static method main() → dynamic {
-  try {
-    dynamic b = new self::B::•();
-  }
-  on dynamic catch(final dynamic _) {
-  }
-  try {
-    dynamic c = new self::C::•();
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35177.dart.legacy.expect
deleted file mode 100644
index 74f9a1f..0000000
--- a/pkg/front_end/testcases/regress/issue_35177.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  () →* dynamic f;
-  f.call().call<core::int*>();
-}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35177.dart.legacy.transformed.expect
deleted file mode 100644
index 74f9a1f..0000000
--- a/pkg/front_end/testcases/regress/issue_35177.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  () →* dynamic f;
-  f.call().call<core::int*>();
-}
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35213.dart.legacy.expect
deleted file mode 100644
index e97491d..0000000
--- a/pkg/front_end/testcases/regress/issue_35213.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35213.dart:5:9: Error: Expected ',' before this.
-// f(int a int b) { }
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method f(core::int* a, core::int* b) → dynamic {}
-static method main() → dynamic {
-  self::f(2, 3);
-}
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35213.dart.legacy.transformed.expect
deleted file mode 100644
index e97491d..0000000
--- a/pkg/front_end/testcases/regress/issue_35213.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35213.dart:5:9: Error: Expected ',' before this.
-// f(int a int b) { }
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method f(core::int* a, core::int* b) → dynamic {}
-static method main() → dynamic {
-  self::f(2, 3);
-}
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35258.dart.legacy.expect
deleted file mode 100644
index c371025..0000000
--- a/pkg/front_end/testcases/regress/issue_35258.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35258.dart:13:3: Error: 'C' is already declared in this scope.
-//   C(this.d) {}
-//   ^
-// pkg/front_end/testcases/regress/issue_35258.dart:12:3: Context: Previous declaration of 'C'.
-//   C() {}
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_35258.dart:6:7: Error: Can't use 'C' because it is declared more than once.
-//   new C(42);
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_35258.dart:10:9: Error: Final field 'd' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final d;
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic d = null;
-  constructor •() → self::C*
-    : super core::Object::•() {}
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #C
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35258.dart.legacy.transformed.expect
deleted file mode 100644
index c371025..0000000
--- a/pkg/front_end/testcases/regress/issue_35258.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35258.dart:13:3: Error: 'C' is already declared in this scope.
-//   C(this.d) {}
-//   ^
-// pkg/front_end/testcases/regress/issue_35258.dart:12:3: Context: Previous declaration of 'C'.
-//   C() {}
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_35258.dart:6:7: Error: Can't use 'C' because it is declared more than once.
-//   new C(42);
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_35258.dart:10:9: Error: Final field 'd' is not initialized.
-// Try to initialize the field in the declaration or in every constructor.
-//   final d;
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  final field dynamic d = null;
-  constructor •() → self::C*
-    : super core::Object::•() {}
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, core::List::unmodifiable<dynamic>(<dynamic>[42]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #C
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35259.dart.legacy.expect
deleted file mode 100644
index 55a5f23..0000000
--- a/pkg/front_end/testcases/regress/issue_35259.dart.legacy.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:7:11: Error: 'Supertype' is already declared in this scope.
-//   factory Supertype() = Unresolved;
-//           ^^^^^^^^^
-// pkg/front_end/testcases/regress/issue_35259.dart:6:11: Context: Previous declaration of 'Supertype'.
-//   factory Supertype() = Unresolved;
-//           ^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:6:25: Warning: Couldn't find constructor 'Unresolved'.
-//   factory Supertype() = Unresolved;
-//                         ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:7:25: Warning: Couldn't find constructor 'Unresolved'.
-//   factory Supertype() = Unresolved;
-//                         ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:7:11: Warning: Redirection constructor target not found: 'Unresolved'
-//   factory Supertype() = Unresolved;
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:6:11: Warning: Redirection constructor target not found: 'Unresolved'
-//   factory Supertype() = Unresolved;
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:11:13: Error: Can't use 'Supertype' because it is declared more than once.
-//   print(new Supertype());
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Supertype extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::Supertype::•];
-  static factory •() → self::Supertype*
-    let dynamic #redirecting_factory = "Unresolved" in invalid-expression;
-}
-static method main() → dynamic {
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-}
-
-constants  {
-  #C1 = #Supertype
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35259.dart.legacy.transformed.expect
deleted file mode 100644
index 55a5f23..0000000
--- a/pkg/front_end/testcases/regress/issue_35259.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:7:11: Error: 'Supertype' is already declared in this scope.
-//   factory Supertype() = Unresolved;
-//           ^^^^^^^^^
-// pkg/front_end/testcases/regress/issue_35259.dart:6:11: Context: Previous declaration of 'Supertype'.
-//   factory Supertype() = Unresolved;
-//           ^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:6:25: Warning: Couldn't find constructor 'Unresolved'.
-//   factory Supertype() = Unresolved;
-//                         ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:7:25: Warning: Couldn't find constructor 'Unresolved'.
-//   factory Supertype() = Unresolved;
-//                         ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:7:11: Warning: Redirection constructor target not found: 'Unresolved'
-//   factory Supertype() = Unresolved;
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:6:11: Warning: Redirection constructor target not found: 'Unresolved'
-//   factory Supertype() = Unresolved;
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_35259.dart:11:13: Error: Can't use 'Supertype' because it is declared more than once.
-//   print(new Supertype());
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Supertype extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::Supertype::•];
-  static factory •() → self::Supertype*
-    let dynamic #redirecting_factory = "Unresolved" in invalid-expression;
-}
-static method main() → dynamic {
-  core::print(throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
-}
-
-constants  {
-  #C1 = #Supertype
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35260.dart.legacy.expect
deleted file mode 100644
index ca20b94..0000000
--- a/pkg/front_end/testcases/regress/issue_35260.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35260.dart:7:11: Error: 'Supertype' is already declared in this scope.
-//   factory Supertype() = X;
-//           ^^^^^^^^^
-// pkg/front_end/testcases/regress/issue_35260.dart:6:11: Context: Previous declaration of 'Supertype'.
-//   factory Supertype() = X;
-//           ^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
-//   X x = new Supertype();
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Supertype extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::Supertype::•];
-  static factory •() → self::Supertype*
-    let dynamic #redirecting_factory = self::X::• in invalid-expression;
-}
-class X extends core::Object implements self::Supertype {
-  constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::X* x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #Supertype
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35260.dart.legacy.transformed.expect
deleted file mode 100644
index ca20b94..0000000
--- a/pkg/front_end/testcases/regress/issue_35260.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35260.dart:7:11: Error: 'Supertype' is already declared in this scope.
-//   factory Supertype() = X;
-//           ^^^^^^^^^
-// pkg/front_end/testcases/regress/issue_35260.dart:6:11: Context: Previous declaration of 'Supertype'.
-//   factory Supertype() = X;
-//           ^^^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_35260.dart:15:13: Error: Can't use 'Supertype' because it is declared more than once.
-//   X x = new Supertype();
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Supertype extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::Supertype::•];
-  static factory •() → self::Supertype*
-    let dynamic #redirecting_factory = self::X::• in invalid-expression;
-}
-class X extends core::Object implements self::Supertype {
-  constructor •() → self::X*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  self::X* x = throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
-}
-
-constants  {
-  #C1 = #Supertype
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35266.dart.legacy.expect
deleted file mode 100644
index 056241c..0000000
--- a/pkg/front_end/testcases/regress/issue_35266.dart.legacy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35266.dart:8:11: Error: 'B.foo' is already declared in this scope.
-//   factory B.foo() = B<T>;
-//           ^^^^^
-// pkg/front_end/testcases/regress/issue_35266.dart:7:11: Context: Previous declaration of 'B.foo'.
-//   factory B.foo() = B<T>;
-//           ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_35266.dart:13:11: Error: Can't use 'B.foo' because it is declared more than once.
-//   factory C.bar() = B<K>.foo;
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_35266.dart:13:11: Warning: Method not found: 'B.foo'.
-//   factory C.bar() = B<K>.foo;
-//           ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends self::C<self::B::T*> {
-  static field dynamic _redirecting# = <dynamic>[self::B::foo];
-  constructor •() → self::B<self::B::T*>*
-    : super self::C::•()
-    ;
-  static factory foo<T extends core::Object* = dynamic>() → self::B<self::B::foo::T*>*
-    let dynamic #redirecting_factory = self::B::• in let self::B::foo::T* #typeArg0 = null in invalid-expression;
-}
-class C<K extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::bar];
-  constructor •() → self::C<self::C::K*>*
-    : super core::Object::•()
-    ;
-  static factory bar<K extends core::Object* = dynamic>() → self::C<self::C::bar::K*>*
-    let dynamic #redirecting_factory = "B.foo" in invalid-expression;
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[dynamic]), #C2, core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-}
-
-constants  {
-  #C1 = #B.foo
-  #C2 = <dynamic>[]
-  #C3 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C2}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35266.dart.legacy.transformed.expect
deleted file mode 100644
index 056241c..0000000
--- a/pkg/front_end/testcases/regress/issue_35266.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35266.dart:8:11: Error: 'B.foo' is already declared in this scope.
-//   factory B.foo() = B<T>;
-//           ^^^^^
-// pkg/front_end/testcases/regress/issue_35266.dart:7:11: Context: Previous declaration of 'B.foo'.
-//   factory B.foo() = B<T>;
-//           ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_35266.dart:13:11: Error: Can't use 'B.foo' because it is declared more than once.
-//   factory C.bar() = B<K>.foo;
-//           ^
-//
-// pkg/front_end/testcases/regress/issue_35266.dart:13:11: Warning: Method not found: 'B.foo'.
-//   factory C.bar() = B<K>.foo;
-//           ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends self::C<self::B::T*> {
-  static field dynamic _redirecting# = <dynamic>[self::B::foo];
-  constructor •() → self::B<self::B::T*>*
-    : super self::C::•()
-    ;
-  static factory foo<T extends core::Object* = dynamic>() → self::B<self::B::foo::T*>*
-    let dynamic #redirecting_factory = self::B::• in let self::B::foo::T* #typeArg0 = null in invalid-expression;
-}
-class C<K extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::C::bar];
-  constructor •() → self::C<self::C::K*>*
-    : super core::Object::•()
-    ;
-  static factory bar<K extends core::Object* = dynamic>() → self::C<self::C::bar::K*>*
-    let dynamic #redirecting_factory = "B.foo" in invalid-expression;
-}
-static method main() → dynamic {
-  throw new core::NoSuchMethodError::withInvocation(null, new core::_InvocationMirror::_withType(#C1, 32, core::List::unmodifiable<dynamic>(<core::Type*>[dynamic]), #C2, core::Map::unmodifiable<core::Symbol*, dynamic>(#C3)));
-}
-
-constants  {
-  #C1 = #B.foo
-  #C2 = <dynamic>[]
-  #C3 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C2}
-}
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_35900.dart.legacy.expect
deleted file mode 100644
index c6fc9e6..0000000
--- a/pkg/front_end/testcases/regress/issue_35900.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: Can't find '}' to match '${'.
-// main () { int x; print('${x' '); }
-//                         ^
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:24: Error: String starting with ' must end with '.
-// main () { int x; print('${x' '); }
-//                        ^^^^^^^^^^^^...
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:6:1: Error: Expected a declaration, but got ''.
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:28: Error: Expected '}' before this.
-// main () { int x; print('${x' '); }
-//                            ^^^
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:31: Error: Expected a String, but got ')'.
-// main () { int x; print('${x' '); }
-//                               ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int* x;
-  core::print("${x}");
-}
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_35900.dart.legacy.transformed.expect
deleted file mode 100644
index c6fc9e6..0000000
--- a/pkg/front_end/testcases/regress/issue_35900.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:25: Error: Can't find '}' to match '${'.
-// main () { int x; print('${x' '); }
-//                         ^
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:24: Error: String starting with ' must end with '.
-// main () { int x; print('${x' '); }
-//                        ^^^^^^^^^^^^...
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:6:1: Error: Expected a declaration, but got ''.
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:28: Error: Expected '}' before this.
-// main () { int x; print('${x' '); }
-//                            ^^^
-//
-// pkg/front_end/testcases/regress/issue_35900.dart:5:31: Error: Expected a String, but got ')'.
-// main () { int x; print('${x' '); }
-//                               ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int* x;
-  core::print("${x}");
-}
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_36400.dart.legacy.expect
deleted file mode 100644
index 5e6fa5b..0000000
--- a/pkg/front_end/testcases/regress/issue_36400.dart.legacy.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36400.dart:6:3: Error: Factory constructors cannot have a return type.
-// Try removing the type appearing before 'factory'.
-//   Test factory Test() {
-//   ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Test extends core::Object {
-  static factory •() → self::Test* {
-    return null;
-  }
-}
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_36400.dart.legacy.transformed.expect
deleted file mode 100644
index 5e6fa5b..0000000
--- a/pkg/front_end/testcases/regress/issue_36400.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36400.dart:6:3: Error: Factory constructors cannot have a return type.
-// Try removing the type appearing before 'factory'.
-//   Test factory Test() {
-//   ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Test extends core::Object {
-  static factory •() → self::Test* {
-    return null;
-  }
-}
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_36647.dart.legacy.expect
deleted file mode 100644
index 26ab204..0000000
--- a/pkg/front_end/testcases/regress/issue_36647.dart.legacy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///issue_36647_lib1.dart";
-
-
-library;
-import self as self2;
-import "issue_36647_lib2.dart" as iss;
-additionalExports = (iss::xxx)
-, iss::XXX)
-, iss::extends)
-
-
-export "org-dartlang-testcase:///issue_36647_lib2.dart";
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:7: Error: A class declaration must have a body, even if it is empty.
-// Try adding an empty body.
-// class xxx xx XXX extends XXX {
-//       ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:14: Error: Expected ';' after this.
-// class xxx xx XXX extends XXX {
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:18: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-// class xxx xx XXX extends XXX {
-//                  ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:18: Error: Expected an identifier, but got 'extends'.
-// class xxx xx XXX extends XXX {
-//                  ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:18: Error: Expected ';' after this.
-// class xxx xx XXX extends XXX {
-//                  ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:26: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// class xxx xx XXX extends XXX {
-//                          ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:26: Error: 'XXX' is already declared in this scope.
-// class xxx xx XXX extends XXX {
-//                          ^^^
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:14: Context: Previous declaration of 'XXX'.
-// class xxx xx XXX extends XXX {
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:11: Warning: Type 'xx' not found.
-// class xxx xx XXX extends XXX {
-//           ^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:11: Warning: 'xx' isn't a type.
-// class xxx xx XXX extends XXX {
-//           ^^
-//
-import self as iss;
-import "dart:core" as core;
-
-class xxx extends core::Object {
-  synthetic constructor •() → iss::xxx*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type XXX;
-static field dynamic extends;
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_36647.dart.legacy.transformed.expect
deleted file mode 100644
index 26ab204..0000000
--- a/pkg/front_end/testcases/regress/issue_36647.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///issue_36647_lib1.dart";
-
-
-library;
-import self as self2;
-import "issue_36647_lib2.dart" as iss;
-additionalExports = (iss::xxx)
-, iss::XXX)
-, iss::extends)
-
-
-export "org-dartlang-testcase:///issue_36647_lib2.dart";
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:7: Error: A class declaration must have a body, even if it is empty.
-// Try adding an empty body.
-// class xxx xx XXX extends XXX {
-//       ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:14: Error: Expected ';' after this.
-// class xxx xx XXX extends XXX {
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:18: Error: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
-// Try adding the name of the type of the variable or the keyword 'var'.
-// class xxx xx XXX extends XXX {
-//                  ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:18: Error: Expected an identifier, but got 'extends'.
-// class xxx xx XXX extends XXX {
-//                  ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:18: Error: Expected ';' after this.
-// class xxx xx XXX extends XXX {
-//                  ^^^^^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:26: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// class xxx xx XXX extends XXX {
-//                          ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:26: Error: 'XXX' is already declared in this scope.
-// class xxx xx XXX extends XXX {
-//                          ^^^
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:14: Context: Previous declaration of 'XXX'.
-// class xxx xx XXX extends XXX {
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:11: Warning: Type 'xx' not found.
-// class xxx xx XXX extends XXX {
-//           ^^
-//
-// pkg/front_end/testcases/regress/issue_36647_lib2.dart:5:11: Warning: 'xx' isn't a type.
-// class xxx xx XXX extends XXX {
-//           ^^
-//
-import self as iss;
-import "dart:core" as core;
-
-class xxx extends core::Object {
-  synthetic constructor •() → iss::xxx*
-    : super core::Object::•()
-    ;
-}
-static field invalid-type XXX;
-static field dynamic extends;
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.legacy.expect
deleted file mode 100644
index ec50b22..0000000
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.legacy.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-import self as self;
-import "issue_36647_2_lib1.dart" as iss;
-additionalExports = (iss::foo)
-, iss::bar)
-, iss::baz)
-
-
-export "org-dartlang-testcase:///issue_36647_2_lib1.dart";
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:6:5: Error: 'foo' is already declared in this scope.
-// int foo = 43;
-//     ^^^
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:5:5: Context: Previous declaration of 'foo'.
-// int foo = 42;
-//     ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:8:14: Error: 'bar' is already declared in this scope.
-// typedef bool bar();
-//              ^^^
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:7:14: Context: Previous declaration of 'bar'.
-// typedef bool bar();
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:13:5: Error: 'baz' is already declared in this scope.
-// int baz() {
-//     ^^^
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:9:5: Context: Previous declaration of 'baz'.
-// int baz() {
-//     ^^^
-//
-import self as iss;
-import "dart:core" as core;
-
-typedef bar = () →* core::bool*;
-static field core::int* foo;
-static method baz() → core::int* {
-  return 42;
-}
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.legacy.transformed.expect
deleted file mode 100644
index ec50b22..0000000
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-import self as self;
-import "issue_36647_2_lib1.dart" as iss;
-additionalExports = (iss::foo)
-, iss::bar)
-, iss::baz)
-
-
-export "org-dartlang-testcase:///issue_36647_2_lib1.dart";
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:6:5: Error: 'foo' is already declared in this scope.
-// int foo = 43;
-//     ^^^
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:5:5: Context: Previous declaration of 'foo'.
-// int foo = 42;
-//     ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:8:14: Error: 'bar' is already declared in this scope.
-// typedef bool bar();
-//              ^^^
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:7:14: Context: Previous declaration of 'bar'.
-// typedef bool bar();
-//              ^^^
-//
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:13:5: Error: 'baz' is already declared in this scope.
-// int baz() {
-//     ^^^
-// pkg/front_end/testcases/regress/issue_36647_2_lib1.dart:9:5: Context: Previous declaration of 'baz'.
-// int baz() {
-//     ^^^
-//
-import self as iss;
-import "dart:core" as core;
-
-typedef bar = () →* core::bool*;
-static field core::int* foo;
-static method baz() → core::int* {
-  return 42;
-}
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_36669.dart.legacy.expect
deleted file mode 100644
index 175b974..0000000
--- a/pkg/front_end/testcases/regress/issue_36669.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36669.dart:11:7: Error: The superclass, 'NoUnnamedConstuctor with MixMeIn', has no unnamed constructor that takes no arguments.
-// class Foo extends NoUnnamedConstuctor with MixMeIn {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class NoUnnamedConstuctor extends core::Object {
-  constructor _() → self::NoUnnamedConstuctor*
-    : super core::Object::•()
-    ;
-}
-class MixMeIn extends core::Object {
-  synthetic constructor •() → self::MixMeIn*
-    : super core::Object::•()
-    ;
-}
-abstract class _Foo&NoUnnamedConstuctor&MixMeIn = self::NoUnnamedConstuctor with self::MixMeIn {
-  synthetic constructor _() → self::_Foo&NoUnnamedConstuctor&MixMeIn*
-    : super self::NoUnnamedConstuctor::_()
-    ;
-}
-class Foo extends self::_Foo&NoUnnamedConstuctor&MixMeIn {
-  synthetic constructor •() → self::Foo*
-    : invalid-initializer
-    ;
-}
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_36669.dart.legacy.transformed.expect
deleted file mode 100644
index f15581b..0000000
--- a/pkg/front_end/testcases/regress/issue_36669.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36669.dart:11:7: Error: The superclass, 'NoUnnamedConstuctor with MixMeIn', has no unnamed constructor that takes no arguments.
-// class Foo extends NoUnnamedConstuctor with MixMeIn {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class NoUnnamedConstuctor extends core::Object {
-  constructor _() → self::NoUnnamedConstuctor*
-    : super core::Object::•()
-    ;
-}
-class MixMeIn extends core::Object {
-  synthetic constructor •() → self::MixMeIn*
-    : super core::Object::•()
-    ;
-}
-abstract class _Foo&NoUnnamedConstuctor&MixMeIn extends self::NoUnnamedConstuctor implements self::MixMeIn {
-  synthetic constructor _() → self::_Foo&NoUnnamedConstuctor&MixMeIn*
-    : super self::NoUnnamedConstuctor::_()
-    ;
-}
-class Foo extends self::_Foo&NoUnnamedConstuctor&MixMeIn {
-  synthetic constructor •() → self::Foo*
-    : invalid-initializer
-    ;
-}
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_36793.dart.legacy.expect
deleted file mode 100644
index ac733f1..0000000
--- a/pkg/front_end/testcases/regress/issue_36793.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36793.dart:10:5: Error: 'x' is already declared in this scope.
-// int x = 2;
-//     ^
-// pkg/front_end/testcases/regress/issue_36793.dart:8:5: Context: Previous declaration of 'x'.
-// int x = 1;
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static const field core::int* y = #C1;
-@#C1
-static field core::int* x;
-static method main() → dynamic {
-  core::print(#C1);
-}
-
-constants  {
-  #C1 = 42
-}
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_36793.dart.legacy.transformed.expect
deleted file mode 100644
index ac733f1..0000000
--- a/pkg/front_end/testcases/regress/issue_36793.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_36793.dart:10:5: Error: 'x' is already declared in this scope.
-// int x = 2;
-//     ^
-// pkg/front_end/testcases/regress/issue_36793.dart:8:5: Context: Previous declaration of 'x'.
-// int x = 1;
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static const field core::int* y = #C1;
-@#C1
-static field core::int* x;
-static method main() → dynamic {
-  core::print(#C1);
-}
-
-constants  {
-  #C1 = 42
-}
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_37285.dart.legacy.expect
deleted file mode 100644
index ac39a3d..0000000
--- a/pkg/front_end/testcases/regress/issue_37285.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_37285.dart:6:17: Error: Expected an identifier, but got ']'.
-//   C() : super()[];
-//                 ^
-//
-// pkg/front_end/testcases/regress/issue_37285.dart:6:9: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//   C() : super()[];
-//         ^
-//
-// pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
-// To initialize a field, use the syntax 'name = value'.
-//   C() : super()[];
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
-To initialize a field, use the syntax 'name = value'.
-  C() : super()[];
-               ^"
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_37285.dart.legacy.transformed.expect
deleted file mode 100644
index ac39a3d..0000000
--- a/pkg/front_end/testcases/regress/issue_37285.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_37285.dart:6:17: Error: Expected an identifier, but got ']'.
-//   C() : super()[];
-//                 ^
-//
-// pkg/front_end/testcases/regress/issue_37285.dart:6:9: Error: Can't use 'super' as an expression.
-// To delegate a constructor to a super constructor, put the super call as an initializer.
-//   C() : super()[];
-//         ^
-//
-// pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
-// To initialize a field, use the syntax 'name = value'.
-//   C() : super()[];
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_37285.dart:6:16: Error: Not a valid initializer.
-To initialize a field, use the syntax 'name = value'.
-  C() : super()[];
-               ^"
-    ;
-}
-static method main() → dynamic {
-  new self::C::•();
-}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.legacy.expect
deleted file mode 100644
index 23e080a..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* void;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → void {}
-  get g() → () →* void
-    return null;
-  get h() → dynamic
-    return null;
-  method test() → void {
-    this.{self::C::f}();
-    this.{self::C::f}();
-    this.{self::C::g}();
-    this.{self::C::g}();
-    this.{self::C::h}();
-    this.{self::C::h}();
-  }
-}
-static method test(self::C* c, () →* void f, dynamic d) → void {
-  c.f();
-  f.call();
-  d.call();
-  d.f();
-  c.g();
-  c.h();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.legacy.transformed.expect
deleted file mode 100644
index 23e080a..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* void;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f() → void {}
-  get g() → () →* void
-    return null;
-  get h() → dynamic
-    return null;
-  method test() → void {
-    this.{self::C::f}();
-    this.{self::C::f}();
-    this.{self::C::g}();
-    this.{self::C::g}();
-    this.{self::C::h}();
-    this.{self::C::h}();
-  }
-}
-static method test(self::C* c, () →* void f, dynamic d) → void {
-  c.f();
-  f.call();
-  d.call();
-  d.f();
-  c.g();
-  c.h();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.legacy.expect
deleted file mode 100644
index f904786..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic y = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return null;
-  method test() → void {
-    dynamic v1 = this.{self::C::x};
-    dynamic v2 = this.{self::C::x};
-    dynamic v3 = this.{self::C::y};
-    dynamic v4 = this.{self::C::y};
-  }
-}
-static method test(self::C* c, dynamic d) → void {
-  dynamic v1 = c.x;
-  dynamic v2 = c.y;
-  dynamic v3 = d.x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.legacy.transformed.expect
deleted file mode 100644
index f904786..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic y = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  get x() → dynamic
-    return null;
-  method test() → void {
-    dynamic v1 = this.{self::C::x};
-    dynamic v2 = this.{self::C::x};
-    dynamic v3 = this.{self::C::y};
-    dynamic v4 = this.{self::C::y};
-  }
-}
-static method test(self::C* c, dynamic d) → void {
-  dynamic v1 = c.x;
-  dynamic v2 = c.y;
-  dynamic v3 = d.x;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.legacy.expect
deleted file mode 100644
index 3d747e1..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic y = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(dynamic value) → void {}
-  method test() → void {
-    this.{self::C::x} = null;
-    this.{self::C::x} = null;
-    this.{self::C::y} = null;
-    this.{self::C::y} = null;
-  }
-}
-static method test(self::C* c, dynamic d) → void {
-  c.x = null;
-  c.y = null;
-  d.x = null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.legacy.transformed.expect
deleted file mode 100644
index 3d747e1..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic y = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(dynamic value) → void {}
-  method test() → void {
-    this.{self::C::x} = null;
-    this.{self::C::x} = null;
-    this.{self::C::y} = null;
-    this.{self::C::y} = null;
-  }
-}
-static method test(self::C* c, dynamic d) → void {
-  c.x = null;
-  c.y = null;
-  d.x = null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.legacy.expect
deleted file mode 100644
index b77ba5a..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call() → void {}
-}
-static method main() → dynamic {
-  () →* void x = new self::C::•();
-}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.legacy.transformed.expect
deleted file mode 100644
index b77ba5a..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call() → void {}
-}
-static method main() → dynamic {
-  () →* void x = new self::C::•();
-}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.legacy.expect
deleted file mode 100644
index 7fddc0b..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call() → void {}
-}
-static method main() → dynamic {
-  asy::FutureOr<() →* void>* x = new self::C::•();
-}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.legacy.transformed.expect
deleted file mode 100644
index 7fddc0b..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call() → void {}
-}
-static method main() → dynamic {
-  asy::FutureOr<() →* void>* x = new self::C::•();
-}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.legacy.expect
deleted file mode 100644
index c50e6eb..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f() → void {
-    dynamic x = this.{self::C::y};
-  }
-}
-static method g(self::C<core::num*>* c) → void {
-  dynamic x = c.y;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.legacy.transformed.expect
deleted file mode 100644
index c50e6eb..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f() → void {
-    dynamic x = this.{self::C::y};
-  }
-}
-static method g(self::C<core::num*>* c) → void {
-  dynamic x = c.y;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.legacy.expect
deleted file mode 100644
index 8afb28f..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends (self::C::T*) →* void = dynamic>(self::C::f::U* x) → void {}
-}
-static method g(self::C<core::num*>* c) → void {
-  c.f<(core::Object*) →* void>((core::Object* o) → dynamic {});
-}
-static method test() → void {
-  self::g(new self::C::•<core::int*>());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.legacy.transformed.expect
deleted file mode 100644
index 8afb28f..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<U extends (self::C::T*) →* void = dynamic>(self::C::f::U* x) → void {}
-}
-static method g(self::C<core::num*>* c) → void {
-  c.f<(core::Object*) →* void>((core::Object* o) → dynamic {});
-}
-static method test() → void {
-  self::g(new self::C::•<core::int*>());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.legacy.expect
deleted file mode 100644
index 4a14ba5..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}()];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = c.f1();
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.f1();
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = c.f2();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.legacy.transformed.expect
deleted file mode 100644
index 4a14ba5..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}()];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = c.f1();
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.f1();
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = c.f2();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.legacy.expect
deleted file mode 100644
index 7af7a89..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}()];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f1();
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = let final dynamic #t2 = c in #t2.==(null) ? null : #t2.f1();
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t3 = c in #t3.==(null) ? null : #t3.f2();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.legacy.transformed.expect
deleted file mode 100644
index 7af7a89..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1() → (self::C::T*) →* void {}
-  method f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}()];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f1();
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = let final dynamic #t2 = c in #t2.==(null) ? null : #t2.f1();
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t3 = c in #t3.==(null) ? null : #t3.f2();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.legacy.expect
deleted file mode 100644
index d15559d..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<T extends core::Object* = dynamic> = () →* (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void _x;
-  constructor •((self::C::T*) →* void _x) → self::C<self::C::T*>*
-    : self::C::_x = _x, super core::Object::•()
-    ;
-  method f() → (self::C::T*) →* void
-    return this.{self::C::_x};
-}
-static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
-  return c.f;
-}
-static method h(core::int* i) → void {
-  core::print("${i}");
-}
-static method test() → void {
-  dynamic x = self::g(new self::C::•<core::int*>(#C1));
-}
-static method main() → void {}
-
-constants  {
-  #C1 = tearoff self::h
-}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.legacy.transformed.expect
deleted file mode 100644
index d15559d..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<T extends core::Object* = dynamic> = () →* (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void _x;
-  constructor •((self::C::T*) →* void _x) → self::C<self::C::T*>*
-    : self::C::_x = _x, super core::Object::•()
-    ;
-  method f() → (self::C::T*) →* void
-    return this.{self::C::_x};
-}
-static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
-  return c.f;
-}
-static method h(core::int* i) → void {
-  core::print("${i}");
-}
-static method test() → void {
-  dynamic x = self::g(new self::C::•<core::int*>(#C1));
-}
-static method main() → void {}
-
-constants  {
-  #C1 = tearoff self::h
-}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.legacy.expect
deleted file mode 100644
index 8a7fbe6..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::y}(value);
-  }
-}
-static method g(self::C<core::num*>* c) → void {
-  c.y(1.5);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 8a7fbe6..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field (self::C::T*) →* void y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::y}(value);
-  }
-}
-static method g(self::C<core::num*>* c) → void {
-  c.y(1.5);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.legacy.expect
deleted file mode 100644
index 5de3ec9..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = c.f1;
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.f1;
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = c.f2;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.legacy.transformed.expect
deleted file mode 100644
index 5de3ec9..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = c.f1;
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = c.f1;
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = c.f2;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.legacy.expect
deleted file mode 100644
index a34afd3..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f1;
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = let final dynamic #t2 = c in #t2.==(null) ? null : #t2.f1;
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t3 = c in #t3.==(null) ? null : #t3.f2;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.legacy.transformed.expect
deleted file mode 100644
index a34afd3..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  get f1() → (self::C::T*) →* void
-    return null;
-  get f2() → core::List<(self::C::T*) →* void>* {
-    return <dynamic>[this.{self::C::f1}];
-  }
-}
-static method g1(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t1 = c in #t1.==(null) ? null : #t1.f1;
-  core::print("hello");
-  x.call(1.5);
-}
-static method g2(self::C<core::num*>* c) → void {
-  (core::int*) →* void x = let final dynamic #t2 = c in #t2.==(null) ? null : #t2.f1;
-  x.call(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  dynamic x = let final dynamic #t3 = c in #t3.==(null) ? null : #t3.f2;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.legacy.expect
deleted file mode 100644
index 1bc8ae7..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<generic-covariant-impl U extends self::C::T* = dynamic>(self::C::f::U* x) → void {}
-  method g1<generic-covariant-impl U extends self::C::T* = dynamic>() → void {
-    this.{self::C::f}<self::C::g1::U*>(1.5);
-  }
-}
-static method g2(self::C<core::Object*>* c) → void {
-  c.f<core::num*>(1.5);
-}
-static method test() → void {
-  new self::C::•<core::int*>().g1<core::num*>();
-  self::g2(new self::C::•<core::int*>());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.legacy.transformed.expect
deleted file mode 100644
index 1bc8ae7..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<generic-covariant-impl U extends self::C::T* = dynamic>(self::C::f::U* x) → void {}
-  method g1<generic-covariant-impl U extends self::C::T* = dynamic>() → void {
-    this.{self::C::f}<self::C::g1::U*>(1.5);
-  }
-}
-static method g2(self::C<core::Object*>* c) → void {
-  c.f<core::num*>(1.5);
-}
-static method test() → void {
-  new self::C::•<core::int*>().g1<core::num*>();
-  self::g2(new self::C::•<core::int*>());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.legacy.expect
deleted file mode 100644
index 9bdab97..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.legacy.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::C::T* x) → void {}
-}
-static method g1(self::C<core::num*>* c) → void {
-  c.f(1.5);
-}
-static method g2(self::C<core::int*>* c) → void {
-  c.f(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  c.f(null);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.legacy.transformed.expect
deleted file mode 100644
index 9bdab97..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::C::T* x) → void {}
-}
-static method g1(self::C<core::num*>* c) → void {
-  c.f(1.5);
-}
-static method g2(self::C<core::int*>* c) → void {
-  c.f(1);
-}
-static method g3(self::C<core::num*>* c) → void {
-  c.f(null);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.legacy.expect
deleted file mode 100644
index 62384ef..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl core::List<self::C::T*>* x) → void {}
-  method f2(generic-covariant-impl () →* self::C::T* callback) → void {}
-  method f3(generic-covariant-impl (self::C::T*) →* self::C::T* callback) → void {}
-  method f4((self::C::T*) →* void callback) → void {}
-}
-static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
-  c.f1(l);
-}
-static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
-  c.f2(callback);
-}
-static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
-  c.f3(callback);
-}
-static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
-  c.f4(callback);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.legacy.transformed.expect
deleted file mode 100644
index 62384ef..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl core::List<self::C::T*>* x) → void {}
-  method f2(generic-covariant-impl () →* self::C::T* callback) → void {}
-  method f3(generic-covariant-impl (self::C::T*) →* self::C::T* callback) → void {}
-  method f4((self::C::T*) →* void callback) → void {}
-}
-static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
-  c.f1(l);
-}
-static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
-  c.f2(callback);
-}
-static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
-  c.f3(callback);
-}
-static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
-  c.f4(callback);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect
deleted file mode 100644
index 85b7cdc..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f1(generic-covariant-impl self::I::T* x) → void;
-  abstract method f2(generic-covariant-impl self::I::T* x) → void;
-}
-class C<U extends core::Object* = dynamic> extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl core::int* x) → void {}
-  method f2(generic-covariant-impl core::int* x, [generic-covariant-impl self::C::U* y = #C1]) → void {}
-}
-class D<U extends core::Object* = dynamic> extends self::C<self::D::U*> {
-  synthetic constructor •() → self::D<self::D::U*>*
-    : super self::C::•()
-    ;
-  method f1(generic-covariant-impl core::int* x) → void {}
-  method f2(generic-covariant-impl core::int* x, [generic-covariant-impl self::D::U* y = #C1]) → void {}
-}
-static method g1(self::C<core::num*>* c) → void {
-  c.f1(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f1(1.5);
-}
-static method g3(self::C<core::num*>* c) → void {
-  c.f2(1, 1.5);
-}
-static method g4(self::D<core::num*>* d) → void {
-  d.f1(1);
-}
-static method g5(self::D<core::num*>* d) → void {
-  d.f2(1, 1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•<core::num*>());
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect
deleted file mode 100644
index 85b7cdc..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f1(generic-covariant-impl self::I::T* x) → void;
-  abstract method f2(generic-covariant-impl self::I::T* x) → void;
-}
-class C<U extends core::Object* = dynamic> extends core::Object implements self::I<core::int*> {
-  synthetic constructor •() → self::C<self::C::U*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl core::int* x) → void {}
-  method f2(generic-covariant-impl core::int* x, [generic-covariant-impl self::C::U* y = #C1]) → void {}
-}
-class D<U extends core::Object* = dynamic> extends self::C<self::D::U*> {
-  synthetic constructor •() → self::D<self::D::U*>*
-    : super self::C::•()
-    ;
-  method f1(generic-covariant-impl core::int* x) → void {}
-  method f2(generic-covariant-impl core::int* x, [generic-covariant-impl self::D::U* y = #C1]) → void {}
-}
-static method g1(self::C<core::num*>* c) → void {
-  c.f1(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f1(1.5);
-}
-static method g3(self::C<core::num*>* c) → void {
-  c.f2(1, 1.5);
-}
-static method g4(self::D<core::num*>* d) → void {
-  d.f1(1);
-}
-static method g5(self::D<core::num*>* d) → void {
-  d.f2(1, 1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•<core::num*>());
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect
deleted file mode 100644
index 3c03ed0..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-class C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x) → void
-    return super.{self::B::f}(x);
-}
-static method g1(self::C* c) → void {
-  c.f(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f(1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect
deleted file mode 100644
index 7717981..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-class C extends self::B implements self::I<core::int*>, self::M {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method f(generic-covariant-impl core::int* x) → void {}
-}
-static method g1(self::C* c) → void {
-  c.f(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f(1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect
deleted file mode 100644
index b05cfd0..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x) → void
-    return super.{self::B::f}(x);
-}
-static method g1(self::C* c) → void {
-  c.f(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f(1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect
deleted file mode 100644
index b05cfd0..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x) → void
-    return super.{self::B::f}(x);
-}
-static method g1(self::C* c) → void {
-  c.f(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f(1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect
deleted file mode 100644
index ca8dcbc..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class C = self::B with self::M implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x) → void
-    return super.{self::B::f}(x);
-}
-static method g1(self::C* c) → void {
-  c.f(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f(1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect
deleted file mode 100644
index a91b30d..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B implements self::I<core::int*>, self::M {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x) → void
-    return super.{self::B::f}(x);
-}
-static method g1(self::C* c) → void {
-  c.f(1);
-}
-static method g2(self::I<core::num*>* i) → void {
-  i.f(1.5);
-}
-static method test() → void {
-  self::g2(new self::C::•());
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.legacy.expect
deleted file mode 100644
index 955ac0b..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<T extends core::Object* = dynamic, U extends core::Object* = dynamic> = (T*) →* U*;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl self::C::T* x) → void {}
-  method f2(generic-covariant-impl core::List<self::C::T*>* x) → self::C::T*
-    return x.first;
-}
-static method g1(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.f1;
-}
-static method g2(self::C<core::int*>* c, core::Object* x) → void {
-  (core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
-  f.call(x);
-}
-static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
-  return c.f2;
-}
-static method test() → void {
-  dynamic x = self::g1(new self::C::•<core::int*>());
-  x.call(1.5);
-  self::g3(new self::C::•<core::int*>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.legacy.transformed.expect
deleted file mode 100644
index 955ac0b..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-typedef G<T extends core::Object* = dynamic, U extends core::Object* = dynamic> = (T*) →* U*;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl self::C::T* x) → void {}
-  method f2(generic-covariant-impl core::List<self::C::T*>* x) → self::C::T*
-    return x.first;
-}
-static method g1(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.f1;
-}
-static method g2(self::C<core::int*>* c, core::Object* x) → void {
-  (core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
-  f.call(x);
-}
-static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
-  return c.f2;
-}
-static method test() → void {
-  dynamic x = self::g1(new self::C::•<core::int*>());
-  x.call(1.5);
-  self::g3(new self::C::•<core::int*>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect
deleted file mode 100644
index 278b2d7..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(core::num* x) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f(covariant core::int* x) → void {}
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method f(covariant core::int* x) → void {}
-}
-static method g1(self::C* c) → void {
-  c.f(1.5);
-}
-static method g2(self::C* c) → (core::num*) →* dynamic {
-  return c.f;
-}
-static method test() → dynamic {
-  self::g1(new self::D::•());
-  (core::num*) →* dynamic x = self::g2(new self::D::•());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect
deleted file mode 100644
index 278b2d7..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method f(core::num* x) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f(covariant core::int* x) → void {}
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method f(covariant core::int* x) → void {}
-}
-static method g1(self::C* c) → void {
-  c.f(1.5);
-}
-static method g2(self::C* c) → (core::num*) →* dynamic {
-  return c.f;
-}
-static method test() → dynamic {
-  self::g1(new self::D::•());
-  (core::num*) →* dynamic x = self::g2(new self::D::•());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect
deleted file mode 100644
index f40cd15..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object implements self::C {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object implements self::D {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect
deleted file mode 100644
index f40cd15..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object implements self::C {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object implements self::D {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect
deleted file mode 100644
index 9adfddf..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object implements self::C {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object implements self::D {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-  set x(covariant core::int* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 9adfddf..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends core::Object implements self::C {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object implements self::D {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  get x() → core::int*
-    return 0;
-  set x(covariant core::int* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect
deleted file mode 100644
index ecb8eb5..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(core::num* value) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(covariant core::int* value) → void {}
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  set x(covariant core::int* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect
deleted file mode 100644
index ecb8eb5..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(core::num* value) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(covariant core::int* value) → void {}
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  set x(covariant core::int* value) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect
deleted file mode 100644
index 56cba3c..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(core::num* value) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(covariant core::int* value) → void {}
-}
-class E extends core::Object implements self::D {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect
deleted file mode 100644
index 56cba3c..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set x(core::num* value) → void {}
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  set x(covariant core::int* value) → void {}
-}
-class E extends core::Object implements self::D {
-  covariant field core::int* x = null;
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.legacy.expect
deleted file mode 100644
index 5f46237..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  set y(generic-covariant-impl self::C::T* value) → void {}
-  method f(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::x} = value;
-    this.{self::C::y} = value;
-  }
-}
-static method g(self::C<core::num*>* c) → void {
-  c.x = 1.5;
-  c.y = 1.5;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 5f46237..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  set y(generic-covariant-impl self::C::T* value) → void {}
-  method f(generic-covariant-impl self::C::T* value) → void {
-    this.{self::C::x} = value;
-    this.{self::C::y} = value;
-  }
-}
-static method g(self::C<core::num*>* c) → void {
-  c.x = 1.5;
-  c.y = 1.5;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect
deleted file mode 100644
index 764de18..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl self::C::T* x) → void {}
-  method f2(core::int* x) → void {}
-}
-class D extends self::C<core::num*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f1(covariant generic-covariant-impl core::int* x) → void {}
-}
-static method g1(dynamic d) → void {
-  d.f1(1.5);
-}
-static method g2(dynamic d) → void {
-  d.f2(1.5);
-}
-static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<dynamic>());
-  self::g1(new self::D::•());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect
deleted file mode 100644
index 764de18..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f1(generic-covariant-impl self::C::T* x) → void {}
-  method f2(core::int* x) → void {}
-}
-class D extends self::C<core::num*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f1(covariant generic-covariant-impl core::int* x) → void {}
-}
-static method g1(dynamic d) → void {
-  d.f1(1.5);
-}
-static method g2(dynamic d) → void {
-  d.f2(1.5);
-}
-static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<dynamic>());
-  self::g1(new self::D::•());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.legacy.expect
deleted file mode 100644
index 464fd94..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.legacy.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<generic-covariant-impl U extends self::C::T* = dynamic>(self::C::f::U* x) → void {}
-}
-static method g1(dynamic d) → void {
-  d.f<core::num*>(1.5);
-}
-static method g2(dynamic d) → void {
-  d.f(1.5);
-}
-static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<core::int*>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.legacy.transformed.expect
deleted file mode 100644
index 464fd94..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f<generic-covariant-impl U extends self::C::T* = dynamic>(self::C::f::U* x) → void {}
-}
-static method g1(dynamic d) → void {
-  d.f<core::num*>(1.5);
-}
-static method g2(dynamic d) → void {
-  d.f(1.5);
-}
-static method test() → void {
-  self::g1(new self::C::•<core::int*>());
-  self::g2(new self::C::•<core::int*>());
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.legacy.expect
deleted file mode 100644
index 3da2151..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.legacy.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic f;
-  constructor •(dynamic f) → self::C*
-    : self::C::f = f, super core::Object::•()
-    ;
-}
-static method g(self::C* c) → void {
-  c.f(1.5);
-}
-static method h(core::int* i) → void {}
-static method test() → void {
-  self::g(new self::C::•(#C1));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::h
-}
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 3da2151..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic f;
-  constructor •(dynamic f) → self::C*
-    : self::C::f = f, super core::Object::•()
-    ;
-}
-static method g(self::C* c) → void {
-  c.f(1.5);
-}
-static method h(core::int* i) → void {}
-static method test() → void {
-  self::g(new self::C::•(#C1));
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = tearoff self::h
-}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect
deleted file mode 100644
index c6b72a6..0000000
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C implements self::B<core::num*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  forwarding-stub set x(generic-covariant-impl core::num* _) → void
-    return super.{self::C::x} = _;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect
deleted file mode 100644
index c6b72a6..0000000
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C implements self::B<core::num*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  forwarding-stub set x(generic-covariant-impl core::num* _) → void
-    return super.{self::C::x} = _;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect
deleted file mode 100644
index 82351e5..0000000
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  field core::Object* _x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f([core::num* x = #C1]) → void {
-    this.{self::B::_x} = x;
-  }
-  method g({core::num* x = #C2}) → void {
-    this.{self::B::_x} = x;
-  }
-  method check(core::Object* expectedValue) → void {
-    if(!this.{self::B::_x}.==(expectedValue)) {
-      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}}";
-    }
-  }
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f([generic-covariant-impl self::I::T* x = #C3]) → void;
-  abstract method g({generic-covariant-impl self::I::T* x = #C3}) → void;
-}
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f([generic-covariant-impl core::num* x = #C1]) → void
-    return super.{self::B::f}(x);
-  forwarding-stub method g({generic-covariant-impl core::num* x = #C2}) → void
-    return super.{self::B::g}(x: x);
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.f();
-  c.check(10);
-  c.g();
-  c.check(20);
-}
-
-constants  {
-  #C1 = 10
-  #C2 = 20
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect
deleted file mode 100644
index 82351e5..0000000
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  field core::Object* _x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f([core::num* x = #C1]) → void {
-    this.{self::B::_x} = x;
-  }
-  method g({core::num* x = #C2}) → void {
-    this.{self::B::_x} = x;
-  }
-  method check(core::Object* expectedValue) → void {
-    if(!this.{self::B::_x}.==(expectedValue)) {
-      throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}}";
-    }
-  }
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f([generic-covariant-impl self::I::T* x = #C3]) → void;
-  abstract method g({generic-covariant-impl self::I::T* x = #C3}) → void;
-}
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f([generic-covariant-impl core::num* x = #C1]) → void
-    return super.{self::B::f}(x);
-  forwarding-stub method g({generic-covariant-impl core::num* x = #C2}) → void
-    return super.{self::B::g}(x: x);
-}
-static method main() → dynamic {
-  self::C* c = new self::C::•();
-  c.f();
-  c.check(10);
-  c.g();
-  c.check(20);
-}
-
-constants  {
-  #C1 = 10
-  #C2 = 20
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect
deleted file mode 100644
index 38a7f20..0000000
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x, core::int* y) → void;
-}
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x, core::int* y) → void
-    return super.{self::B::f}(x, y);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect
deleted file mode 100644
index 38a7f20..0000000
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x, core::int* y) → void;
-}
-class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x, core::int* y) → void
-    return super.{self::B::f}(x, y);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect
deleted file mode 100644
index d003b4d..0000000
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  set x(generic-covariant-impl self::C::T* t) → void {}
-}
-class D extends core::Object implements self::C<core::num*> {
-  generic-covariant-impl field core::num* x = null;
-  generic-covariant-impl field core::num* y = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object implements self::C<core::num*> {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  set x(generic-covariant-impl core::num* t) → void {}
-  get y() → core::num*
-    return null;
-  set y(generic-covariant-impl core::num* t) → void {}
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect
deleted file mode 100644
index d003b4d..0000000
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::C::T* y = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  set x(generic-covariant-impl self::C::T* t) → void {}
-}
-class D extends core::Object implements self::C<core::num*> {
-  generic-covariant-impl field core::num* x = null;
-  generic-covariant-impl field core::num* y = null;
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object implements self::C<core::num*> {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  set x(generic-covariant-impl core::num* t) → void {}
-  get y() → core::num*
-    return null;
-  set y(generic-covariant-impl core::num* t) → void {}
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect
deleted file mode 100644
index a2deda6..0000000
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(covariant core::Object* value) → void;
-}
-class B extends core::Object implements self::A {
-  covariant field core::Object* x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(covariant core::Object* x) → void {}
-}
-class C<T extends core::Object* = dynamic> extends core::Object implements self::B {
-  covariant generic-covariant-impl field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(covariant generic-covariant-impl self::C::T* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect
deleted file mode 100644
index a2deda6..0000000
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract set x(covariant core::Object* value) → void;
-}
-class B extends core::Object implements self::A {
-  covariant field core::Object* x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(covariant core::Object* x) → void {}
-}
-class C<T extends core::Object* = dynamic> extends core::Object implements self::B {
-  covariant generic-covariant-impl field self::C::T* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(covariant generic-covariant-impl self::C::T* x) → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.legacy.expect
deleted file mode 100644
index 2ccfa95..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •(core::Object* o) → self::C*
-    : assert(o), super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    new self::C::•(o);
-    assert(false, "no exception");
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.legacy.transformed.expect
deleted file mode 100644
index 2ccfa95..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •(core::Object* o) → self::C*
-    : assert(o), super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    new self::C::•(o);
-    assert(false, "no exception");
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.legacy.expect
deleted file mode 100644
index abc2a40..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    assert(o);
-    assert(false, "no exception");
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.legacy.transformed.expect
deleted file mode 100644
index abc2a40..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    assert(o);
-    assert(false, "no exception");
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.legacy.expect
deleted file mode 100644
index c640c24..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::bool* b;
-  constructor •(core::Object* o) → self::C*
-    : self::C::b = o, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    new self::C::•(o);
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.legacy.transformed.expect
deleted file mode 100644
index c640c24..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::bool* b;
-  constructor •(core::Object* o) → self::C*
-    : self::C::b = o, super core::Object::•()
-    ;
-}
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    new self::C::•(o);
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.legacy.expect
deleted file mode 100644
index f734ce5..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.legacy.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    do {
-    }
-    while (o)
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.legacy.transformed.expect
deleted file mode 100644
index f734ce5..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    do {
-    }
-    while (o)
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.legacy.expect
deleted file mode 100644
index 98b73a7..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  core::Object* o = 1;
-  try {
-    for (core::int* i = 0; o; i = i.+(1)) {
-    }
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.legacy.transformed.expect
deleted file mode 100644
index 98b73a7..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  core::Object* o = 1;
-  try {
-    for (core::int* i = 0; o; i = i.+(1)) {
-    }
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.legacy.expect
deleted file mode 100644
index 3dc2277..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    if(o) {
-    }
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.legacy.transformed.expect
deleted file mode 100644
index 3dc2277..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    if(o) {
-    }
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.legacy.expect
deleted file mode 100644
index a4cb6f1..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  core::Object* o = 1;
-  try {
-    !o;
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.legacy.transformed.expect
deleted file mode 100644
index a4cb6f1..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → void {
-  core::Object* o = 1;
-  try {
-    !o;
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.legacy.expect
deleted file mode 100644
index cc096f9..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    while (o) {
-    }
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.legacy.transformed.expect
deleted file mode 100644
index cc096f9..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* o = 1;
-  try {
-    while (o) {
-    }
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect
deleted file mode 100644
index d6e919e..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::num* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub forwarding-semi-stub method f(generic-covariant-impl core::num* x) → void
-    return super.{self::B::f}(x);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect
deleted file mode 100644
index d6e919e..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::num* x) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x) → void;
-}
-class C extends self::B implements self::I<core::num*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub forwarding-semi-stub method f(generic-covariant-impl core::num* x) → void
-    return super.{self::B::f}(x);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect
deleted file mode 100644
index 3bfd6e1..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::C::T* x) → void {}
-  method g1(generic-covariant-impl self::C::T* x) → void {
-    this.{self::C::f}(x);
-  }
-  method g2(generic-covariant-impl self::C::T* x) → void {
-    this.{self::C::f}(x);
-  }
-  method g3(generic-covariant-impl self::C<self::C::T*>* c, generic-covariant-impl self::C::T* x) → void {
-    c.f(x);
-  }
-  method g4() → (self::C::T*) →* dynamic
-    return this.{self::C::f};
-}
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class E extends self::C<core::num*> {
-  synthetic constructor •() → self::E*
-    : super self::C::•()
-    ;
-  method f(covariant generic-covariant-impl core::int* x) → void {}
-}
-static method test() → dynamic {
-  dynamic x = new self::D::•().g4() as (core::Object*) →* dynamic;
-  x.call("hi");
-  new self::E::•().g1(1.5);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect
deleted file mode 100644
index 3bfd6e1..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* dynamic;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::C::T* x) → void {}
-  method g1(generic-covariant-impl self::C::T* x) → void {
-    this.{self::C::f}(x);
-  }
-  method g2(generic-covariant-impl self::C::T* x) → void {
-    this.{self::C::f}(x);
-  }
-  method g3(generic-covariant-impl self::C<self::C::T*>* c, generic-covariant-impl self::C::T* x) → void {
-    c.f(x);
-  }
-  method g4() → (self::C::T*) →* dynamic
-    return this.{self::C::f};
-}
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-class E extends self::C<core::num*> {
-  synthetic constructor •() → self::E*
-    : super self::C::•()
-    ;
-  method f(covariant generic-covariant-impl core::int* x) → void {}
-}
-static method test() → dynamic {
-  dynamic x = new self::D::•().g4() as (core::Object*) →* dynamic;
-  x.call("hi");
-  new self::E::•().g1(1.5);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.legacy.expect
deleted file mode 100644
index 8cf1630..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.legacy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic, U extends (self::B::T*) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*, self::B::U*>*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → self::B<self::B::T*, (self::B::T*) →* void>*
-    return null;
-}
-class C extends core::Object {
-  field self::B<core::num*, (core::num*) →* void>* x = null;
-  static field self::B<core::num*, (core::num*) →* void>* y = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → self::B<core::num*, (core::num*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<core::num*, (core::num*) →* void>* v) → void {}
-}
-static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
-  b = b.+(1);
-  dynamic x = b = b.+(2);
-}
-static method test2(self::C* c) → void {
-  let final dynamic #t1 = c in let final dynamic #t2 = 0 in #t1.[]=(#t2, #t1.[](#t2).+(1));
-  dynamic x = let final dynamic #t3 = c in let final dynamic #t4 = 0 in let final dynamic #t5 = #t3.[](#t4).+(2) in let final dynamic #t6 = #t3.[]=(#t4, #t5) in #t5;
-}
-static method test3(self::C* c) → void {
-  let final dynamic #t7 = c in #t7.x = #t7.x.+(1);
-  dynamic x = let final dynamic #t8 = c in #t8.x = #t8.x.+(2);
-}
-static method test4(self::C* c) → void {
-  self::C::y = self::C::y.+(1);
-  dynamic x = self::C::y = self::C::y.+(2);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.legacy.transformed.expect
deleted file mode 100644
index 8cf1630..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic, U extends (self::B::T*) →* void = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*, self::B::U*>*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → self::B<self::B::T*, (self::B::T*) →* void>*
-    return null;
-}
-class C extends core::Object {
-  field self::B<core::num*, (core::num*) →* void>* x = null;
-  static field self::B<core::num*, (core::num*) →* void>* y = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → self::B<core::num*, (core::num*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<core::num*, (core::num*) →* void>* v) → void {}
-}
-static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
-  b = b.+(1);
-  dynamic x = b = b.+(2);
-}
-static method test2(self::C* c) → void {
-  let final dynamic #t1 = c in let final dynamic #t2 = 0 in #t1.[]=(#t2, #t1.[](#t2).+(1));
-  dynamic x = let final dynamic #t3 = c in let final dynamic #t4 = 0 in let final dynamic #t5 = #t3.[](#t4).+(2) in let final dynamic #t6 = #t3.[]=(#t4, #t5) in #t5;
-}
-static method test3(self::C* c) → void {
-  let final dynamic #t7 = c in #t7.x = #t7.x.+(1);
-  dynamic x = let final dynamic #t8 = c in #t8.x = #t8.x.+(2);
-}
-static method test4(self::C* c) → void {
-  self::C::y = self::C::y.+(1);
-  dynamic x = self::C::y = self::C::y.+(2);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.legacy.expect
deleted file mode 100644
index aa918d1..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.legacy.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object = dynamic> extends core::Object {
-  final field (self::C::T) → core::num plusResult;
-  constructor •((self::C::T) → core::num plusResult) → void
-    : self::C::plusResult = plusResult, super core::Object::•()
-    ;
-  operator +(core::int i) → (self::C::T) → core::num
-    return this.{self::C::plusResult};
-}
-class D extends core::Object {
-  final field self::C<core::num> getValue;
-  field (core::int) → core::int setValue = null;
-  constructor •(self::C<core::num> getValue) → void
-    : self::D::getValue = getValue, super core::Object::•()
-    ;
-  get value() → self::C<core::num>
-    return this.{self::D::getValue};
-  set value((core::int) → core::int value) → void {
-    this.{self::D::setValue} = value;
-  }
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method numToInt(core::num n) → core::int
-  return 1;
-static method numToNum(core::num n) → core::num
-  return 2;
-static method main() → void {
-  self::D d = new self::D::•(new self::C::•<dynamic>(self::numToInt));
-  let final dynamic #t1 = d in #t1.value = #t1.value.+(1);
-  self::expect(d.setValue(0), 1);
-  d = new self::D::•(new self::C::•<dynamic>(self::numToNum));
-  self::expectTypeError(() → dynamic {
-    let final dynamic #t2 = d in #t2.value = #t2.value.+(1);
-  });
-  self::expect(d.setValue, null);
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.legacy.transformed.expect
deleted file mode 100644
index aa918d1..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object = dynamic> extends core::Object {
-  final field (self::C::T) → core::num plusResult;
-  constructor •((self::C::T) → core::num plusResult) → void
-    : self::C::plusResult = plusResult, super core::Object::•()
-    ;
-  operator +(core::int i) → (self::C::T) → core::num
-    return this.{self::C::plusResult};
-}
-class D extends core::Object {
-  final field self::C<core::num> getValue;
-  field (core::int) → core::int setValue = null;
-  constructor •(self::C<core::num> getValue) → void
-    : self::D::getValue = getValue, super core::Object::•()
-    ;
-  get value() → self::C<core::num>
-    return this.{self::D::getValue};
-  set value((core::int) → core::int value) → void {
-    this.{self::D::setValue} = value;
-  }
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method numToInt(core::num n) → core::int
-  return 1;
-static method numToNum(core::num n) → core::num
-  return 2;
-static method main() → void {
-  self::D d = new self::D::•(new self::C::•<dynamic>(self::numToInt));
-  let final dynamic #t1 = d in #t1.value = #t1.value.+(1);
-  self::expect(d.setValue(0), 1);
-  d = new self::D::•(new self::C::•<dynamic>(self::numToNum));
-  self::expectTypeError(() → dynamic {
-    let final dynamic #t2 = d in #t2.value = #t2.value.+(1);
-  });
-  self::expect(d.setValue, null);
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.legacy.expect
deleted file mode 100644
index 57734d4..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.legacy.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  operator +(generic-covariant-impl self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  get x() → self::B<(self::C::T*) →* void>*
-    return null;
-  set x(self::B<(self::C::T*) →* void>* value) → void {}
-}
-static method test(self::C<core::num*>* c) → void {
-  let final dynamic #t1 = c in #t1.x = #t1.x.+(new self::B::•<core::num*>());
-  dynamic y = let final dynamic #t2 = c in #t2.x = #t2.x.+(new self::B::•<core::num*>());
-  let final dynamic #t3 = c in #t3.x.==(null) ? #t3.x = new self::B::•<core::num*>() : null;
-  dynamic z = let final dynamic #t4 = c in let final dynamic #t5 = #t4.x in #t5.==(null) ? #t4.x = new self::B::•<core::num*>() : #t5;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.legacy.transformed.expect
deleted file mode 100644
index 57734d4..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  operator +(generic-covariant-impl self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  get x() → self::B<(self::C::T*) →* void>*
-    return null;
-  set x(self::B<(self::C::T*) →* void>* value) → void {}
-}
-static method test(self::C<core::num*>* c) → void {
-  let final dynamic #t1 = c in #t1.x = #t1.x.+(new self::B::•<core::num*>());
-  dynamic y = let final dynamic #t2 = c in #t2.x = #t2.x.+(new self::B::•<core::num*>());
-  let final dynamic #t3 = c in #t3.x.==(null) ? #t3.x = new self::B::•<core::num*>() : null;
-  dynamic z = let final dynamic #t4 = c in let final dynamic #t5 = #t4.x in #t5.==(null) ? #t4.x = new self::B::•<core::num*>() : #t5;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.legacy.expect
deleted file mode 100644
index 1749a5d..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  operator +(generic-covariant-impl self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → self::B<(self::C::T*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<(self::C::T*) →* void>* x) → void {}
-}
-static method test(self::C<core::num*>* c) → void {
-  c.[]=(0, new self::B::•<(core::num*) →* void>());
-  let final dynamic #t1 = c in let final dynamic #t2 = 0 in #t1.[]=(#t2, #t1.[](#t2).+(new self::B::•<(core::num*) →* void>()));
-  dynamic x = let final dynamic #t3 = c in let final dynamic #t4 = 0 in let final dynamic #t5 = #t3.[](#t4).+(new self::B::•<(core::num*) →* void>()) in let final dynamic #t6 = #t3.[]=(#t4, #t5) in #t5;
-  let final dynamic #t7 = c in let final dynamic #t8 = 0 in #t7.[](#t8).==(null) ? let final dynamic #t9 = new self::B::•<(core::num*) →* void>() in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9 : null;
-  dynamic y = let final dynamic #t11 = c in let final dynamic #t12 = 0 in let final dynamic #t13 = #t11.[](#t12) in #t13.==(null) ? let final dynamic #t14 = new self::B::•<(core::num*) →* void>() in let final dynamic #t15 = #t11.[]=(#t12, #t14) in #t14 : #t13;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.legacy.transformed.expect
deleted file mode 100644
index 1749a5d..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  operator +(generic-covariant-impl self::B<self::B::T*>* other) → self::B<self::B::T*>*
-    return null;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → self::B<(self::C::T*) →* void>*
-    return null;
-  operator []=(core::int* i, self::B<(self::C::T*) →* void>* x) → void {}
-}
-static method test(self::C<core::num*>* c) → void {
-  c.[]=(0, new self::B::•<(core::num*) →* void>());
-  let final dynamic #t1 = c in let final dynamic #t2 = 0 in #t1.[]=(#t2, #t1.[](#t2).+(new self::B::•<(core::num*) →* void>()));
-  dynamic x = let final dynamic #t3 = c in let final dynamic #t4 = 0 in let final dynamic #t5 = #t3.[](#t4).+(new self::B::•<(core::num*) →* void>()) in let final dynamic #t6 = #t3.[]=(#t4, #t5) in #t5;
-  let final dynamic #t7 = c in let final dynamic #t8 = 0 in #t7.[](#t8).==(null) ? let final dynamic #t9 = new self::B::•<(core::num*) →* void>() in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9 : null;
-  dynamic y = let final dynamic #t11 = c in let final dynamic #t12 = 0 in let final dynamic #t13 = #t11.[](#t12) in #t13.==(null) ? let final dynamic #t14 = new self::B::•<(core::num*) →* void>() in let final dynamic #t15 = #t11.[]=(#t12, #t14) in #t14 : #t13;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.legacy.expect
deleted file mode 100644
index c966117..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → (self::C::T*) →* void
-    return null;
-}
-static method test(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.[](0);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.legacy.transformed.expect
deleted file mode 100644
index c966117..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → (self::C::T*) →* void
-    return null;
-}
-static method test(self::C<core::num*>* c) → (core::num*) →* void {
-  return c.[](0);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.legacy.expect
deleted file mode 100644
index 3ebdc3a..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::B::T* x) → void {}
-  method g({generic-covariant-impl self::B::T* x = #C1}) → void {}
-  method h<generic-covariant-impl U extends self::B::T* = dynamic>() → void {}
-}
-class C extends self::B<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method g1(self::B<core::num*>* b) → void {
-  b.f(1.5);
-}
-static method g2(self::C* c) → void {
-  c.f(1);
-}
-static method test() → void {
-  self::g1(new self::C::•());
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.legacy.transformed.expect
deleted file mode 100644
index 3ebdc3a..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::B::T* x) → void {}
-  method g({generic-covariant-impl self::B::T* x = #C1}) → void {}
-  method h<generic-covariant-impl U extends self::B::T* = dynamic>() → void {}
-}
-class C extends self::B<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method g1(self::B<core::num*>* b) → void {
-  b.f(1.5);
-}
-static method g2(self::C* c) → void {
-  c.f(1);
-}
-static method test() → void {
-  self::g1(new self::C::•());
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.legacy.expect
deleted file mode 100644
index 12d5924..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.legacy.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B<core::num*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.legacy.transformed.expect
deleted file mode 100644
index 12d5924..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::B::T* x = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-class C extends self::B<core::num*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect
deleted file mode 100644
index c636b55..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  covariant field core::num* x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  forwarding-stub set x(covariant core::num* _) → void
-    return super.{self::C::x} = _;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect
deleted file mode 100644
index c636b55..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  covariant field core::num* x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  forwarding-stub set x(covariant core::num* _) → void
-    return super.{self::C::x} = _;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.legacy.expect
deleted file mode 100644
index 7c5b3c9..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.legacy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic staticField = null;
-  field dynamic instanceField = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static set staticSetter(dynamic x) → void {}
-  set instanceSetter(dynamic x) → void {}
-  method test() → void {
-    dynamic localVar;
-    for (final dynamic #t1 in <dynamic>[]) {
-      self::topLevel = #t1;
-    }
-    for (final dynamic #t2 in <dynamic>[]) {
-      self::topLevelSetter = #t2;
-    }
-    for (final dynamic #t3 in <dynamic>[]) {
-      self::C::staticField = #t3;
-    }
-    for (final dynamic #t4 in <dynamic>[]) {
-      self::C::staticSetter = #t4;
-    }
-    for (final dynamic #t5 in <dynamic>[]) {
-      this.{self::C::instanceField} = #t5;
-    }
-    for (final dynamic #t6 in <dynamic>[]) {
-      this.{self::C::instanceSetter} = #t6;
-    }
-    for (final dynamic #t7 in <dynamic>[]) {
-      localVar = #t7;
-    }
-  }
-}
-static field dynamic topLevel;
-static set topLevelSetter(dynamic x) → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.legacy.transformed.expect
deleted file mode 100644
index 7c5b3c9..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field dynamic staticField = null;
-  field dynamic instanceField = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static set staticSetter(dynamic x) → void {}
-  set instanceSetter(dynamic x) → void {}
-  method test() → void {
-    dynamic localVar;
-    for (final dynamic #t1 in <dynamic>[]) {
-      self::topLevel = #t1;
-    }
-    for (final dynamic #t2 in <dynamic>[]) {
-      self::topLevelSetter = #t2;
-    }
-    for (final dynamic #t3 in <dynamic>[]) {
-      self::C::staticField = #t3;
-    }
-    for (final dynamic #t4 in <dynamic>[]) {
-      self::C::staticSetter = #t4;
-    }
-    for (final dynamic #t5 in <dynamic>[]) {
-      this.{self::C::instanceField} = #t5;
-    }
-    for (final dynamic #t6 in <dynamic>[]) {
-      this.{self::C::instanceSetter} = #t6;
-    }
-    for (final dynamic #t7 in <dynamic>[]) {
-      localVar = #t7;
-    }
-  }
-}
-static field dynamic topLevel;
-static set topLevelSetter(dynamic x) → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect
deleted file mode 100644
index 7b0cc15..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::B::T* x = null;
-  generic-covariant-impl field self::B::T* y = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object implements self::B<core::num*> {
-  generic-covariant-impl field core::num* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract get y() → core::num*;
-  abstract set y(generic-covariant-impl core::num* value) → void;
-}
-abstract class D<T extends core::Object* = dynamic> extends core::Object implements self::B<self::D::T*> {
-  generic-covariant-impl field self::D::T* x = null;
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract get y() → self::D::T*;
-  abstract set y(generic-covariant-impl self::D::T* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect
deleted file mode 100644
index 7b0cc15..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  generic-covariant-impl field self::B::T* x = null;
-  generic-covariant-impl field self::B::T* y = null;
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object implements self::B<core::num*> {
-  generic-covariant-impl field core::num* x = null;
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract get y() → core::num*;
-  abstract set y(generic-covariant-impl core::num* value) → void;
-}
-abstract class D<T extends core::Object* = dynamic> extends core::Object implements self::B<self::D::T*> {
-  generic-covariant-impl field self::D::T* x = null;
-  synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract get y() → self::D::T*;
-  abstract set y(generic-covariant-impl self::D::T* value) → void;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.legacy.expect
deleted file mode 100644
index 79df80c..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::bool* staticValue = self::o;
-  field core::bool* instanceValue = self::o;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field core::Object* o = 1;
-static field core::bool* topLevelValue = self::o;
-static method main() → dynamic {
-  try {
-    self::topLevelValue;
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  try {
-    self::C::staticValue;
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  try {
-    new self::C::•();
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.legacy.transformed.expect
deleted file mode 100644
index 79df80c..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::bool* staticValue = self::o;
-  field core::bool* instanceValue = self::o;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-static field core::Object* o = 1;
-static field core::bool* topLevelValue = self::o;
-static method main() → dynamic {
-  try {
-    self::topLevelValue;
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  try {
-    self::C::staticValue;
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-  try {
-    new self::C::•();
-    throw "no exception";
-  }
-  on core::TypeError* catch(no-exception-var) {
-  }
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.legacy.expect
deleted file mode 100644
index 386f01b..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.legacy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → core::int {
-    throw "Should not be reached";
-  }
-  set x(core::int value) → void {
-    throw "Should not be reached";
-  }
-  get y() → core::int {
-    throw "Should not be reached";
-  }
-  set y(core::int value) → void {
-    throw "Should not be reached";
-  }
-}
-abstract class I<T extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract get x() → self::I::T;
-  abstract set x(self::I::T value) → void;
-  abstract get y() → core::Object;
-  abstract set y(covariant core::Object value) → void;
-}
-class M extends core::Object {
-  field core::int x = null;
-  field core::int y = null;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class C = self::B with self::M implements self::I<core::int> {
-  synthetic constructor •() → void
-    : super self::B::•()
-    ;
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method test(self::I<core::Object> i) → void {
-  self::expectTypeError(() → dynamic {
-    i.x = "hello";
-  });
-  i.x = 1;
-  self::expect(i.x, 1);
-  self::expectTypeError(() → dynamic {
-    i.y = "hello";
-  });
-  i.y = 2;
-  self::expect(i.y, 2);
-}
-static method main() → void {
-  self::test(new self::C::•());
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.legacy.transformed.expect
deleted file mode 100644
index 0cdd702..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → core::int {
-    throw "Should not be reached";
-  }
-  set x(core::int value) → void {
-    throw "Should not be reached";
-  }
-  get y() → core::int {
-    throw "Should not be reached";
-  }
-  set y(core::int value) → void {
-    throw "Should not be reached";
-  }
-}
-abstract class I<T extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract get x() → self::I::T;
-  abstract set x(self::I::T value) → void;
-  abstract get y() → core::Object;
-  abstract set y(covariant core::Object value) → void;
-}
-class M extends core::Object {
-  field core::int x = null;
-  field core::int y = null;
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-}
-class C extends self::B implements self::I<core::int>, self::M {
-  field core::int x = null;
-  field core::int y = null;
-  synthetic constructor •() → void
-    : super self::B::•()
-    ;
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method test(self::I<core::Object> i) → void {
-  self::expectTypeError(() → dynamic {
-    i.x = "hello";
-  });
-  i.x = 1;
-  self::expect(i.x, 1);
-  self::expectTypeError(() → dynamic {
-    i.y = "hello";
-  });
-  i.y = 2;
-  self::expect(i.y, 2);
-}
-static method main() → void {
-  self::test(new self::C::•());
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.legacy.expect
deleted file mode 100644
index ddda646..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.legacy.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → core::int {
-    throw "Should not be reached";
-  }
-  set x(core::int value) → void {
-    throw "Should not be reached";
-  }
-  get y() → core::int {
-    throw "Should not be reached";
-  }
-  set y(core::int value) → void {
-    throw "Should not be reached";
-  }
-}
-abstract class I<T extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract get x() → self::I::T;
-  abstract set x(self::I::T value) → void;
-  abstract get y() → core::Object;
-  abstract set y(covariant core::Object value) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → core::int
-    return 1;
-  set x(core::int value) → void {
-    self::expect(value, 2);
-  }
-  get y() → core::int
-    return 3;
-  set y(core::int value) → void {
-    self::expect(value, 4);
-  }
-}
-class C = self::B with self::M implements self::I<core::int> {
-  synthetic constructor •() → void
-    : super self::B::•()
-    ;
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method test(self::I<core::Object> i) → void {
-  self::expectTypeError(() → dynamic {
-    i.x = "hello";
-  });
-  i.x = 2;
-  self::expect(i.x, 1);
-  self::expectTypeError(() → dynamic {
-    i.y = "hello";
-  });
-  i.y = 4;
-  self::expect(i.y, 3);
-}
-static method main() → void {
-  self::test(new self::C::•());
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.legacy.transformed.expect
deleted file mode 100644
index 062777f..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → core::int {
-    throw "Should not be reached";
-  }
-  set x(core::int value) → void {
-    throw "Should not be reached";
-  }
-  get y() → core::int {
-    throw "Should not be reached";
-  }
-  set y(core::int value) → void {
-    throw "Should not be reached";
-  }
-}
-abstract class I<T extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract get x() → self::I::T;
-  abstract set x(self::I::T value) → void;
-  abstract get y() → core::Object;
-  abstract set y(covariant core::Object value) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → core::int
-    return 1;
-  set x(core::int value) → void {
-    self::expect(value, 2);
-  }
-  get y() → core::int
-    return 3;
-  set y(core::int value) → void {
-    self::expect(value, 4);
-  }
-}
-class C extends self::B implements self::I<core::int>, self::M {
-  synthetic constructor •() → void
-    : super self::B::•()
-    ;
-  get x() → core::int
-    return 1;
-  set x(core::int value) → void {
-    self::expect(value, 2);
-  }
-  get y() → core::int
-    return 3;
-  set y(core::int value) → void {
-    self::expect(value, 4);
-  }
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method test(self::I<core::Object> i) → void {
-  self::expectTypeError(() → dynamic {
-    i.x = "hello";
-  });
-  i.x = 2;
-  self::expect(i.x, 1);
-  self::expectTypeError(() → dynamic {
-    i.y = "hello";
-  });
-  i.y = 4;
-  self::expect(i.y, 3);
-}
-static method main() → void {
-  self::test(new self::C::•());
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.legacy.expect
deleted file mode 100644
index b0a0022..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.legacy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method f(core::int x) → core::int {
-    self::expect(x, 1);
-    return 2;
-  }
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract method f(covariant core::Object x) → core::int;
-}
-class C extends self::B implements self::I {
-  synthetic constructor •() → void
-    : super self::B::•()
-    ;
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method g(self::C c) → void {
-  c.f("hello");
-}
-static method test(self::C c, self::I i) → void {
-  self::expectTypeError(() → dynamic {
-    i.f("hello");
-  });
-  self::expect(i.f(1), 2);
-  self::expectTypeError(() → dynamic {
-    c.f("hello");
-  });
-  self::expect(c.f(1), 2);
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  self::test(c, c);
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.legacy.transformed.expect
deleted file mode 100644
index b0a0022..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  method f(core::int x) → core::int {
-    self::expect(x, 1);
-    return 2;
-  }
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract method f(covariant core::Object x) → core::int;
-}
-class C extends self::B implements self::I {
-  synthetic constructor •() → void
-    : super self::B::•()
-    ;
-}
-static method expectTypeError(() → void callback) → void {
-  try {
-    callback.call();
-    throw "Expected TypeError, did not occur";
-  }
-  on core::TypeError catch(no-exception-var) {
-  }
-}
-static method expect(core::Object value, core::Object expected) → void {
-  if(!value.==(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method g(self::C c) → void {
-  c.f("hello");
-}
-static method test(self::C c, self::I i) → void {
-  self::expectTypeError(() → dynamic {
-    i.f("hello");
-  });
-  self::expect(i.f(1), 2);
-  self::expectTypeError(() → dynamic {
-    c.f("hello");
-  });
-  self::expect(c.f(1), 2);
-}
-static method main() → dynamic {
-  dynamic c = new self::C::•();
-  self::test(c, c);
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect
deleted file mode 100644
index ac4f277..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x, core::Object* y) → void;
-}
-abstract class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect
deleted file mode 100644
index ac4f277..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x, core::int* y) → void {}
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    : super core::Object::•()
-    ;
-  abstract method f(generic-covariant-impl self::I::T* x, core::Object* y) → void;
-}
-abstract class C extends self::B implements self::I<core::int*> {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(generic-covariant-impl core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect
deleted file mode 100644
index 104716d..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::B::T* x, core::int* y) → void {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::Object* y) → void;
-}
-abstract class C extends self::B<core::int*> implements self::I {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  abstract forwarding-stub method f(generic-covariant-impl core::int* x, core::Object* y) → void;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect
deleted file mode 100644
index 104716d..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  method f(generic-covariant-impl self::B::T* x, core::int* y) → void {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::Object* y) → void;
-}
-abstract class C extends self::B<core::int*> implements self::I {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  abstract forwarding-stub method f(generic-covariant-impl core::int* x, core::Object* y) → void;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect
deleted file mode 100644
index 9fb5fe5..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x, core::int* y) → void {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method f(covariant core::int* x, core::Object* y) → void;
-}
-abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(covariant core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect
deleted file mode 100644
index 9fb5fe5..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(core::int* x, core::int* y) → void {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method f(covariant core::int* x, core::Object* y) → void;
-}
-abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  forwarding-stub method f(covariant core::int* x, core::Object* y) → void
-    return super.{self::B::f}(x, y);
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect
deleted file mode 100644
index 03e32ba..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(covariant core::int* x, core::int* y) → void {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::Object* y) → void;
-}
-abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  abstract forwarding-stub method f(covariant core::int* x, core::Object* y) → void;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect
deleted file mode 100644
index 03e32ba..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method f(covariant core::int* x, core::int* y) → void {}
-}
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* x, core::Object* y) → void;
-}
-abstract class C extends self::B implements self::I {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  abstract forwarding-stub method f(covariant core::int* x, core::Object* y) → void;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/sdk.status b/pkg/front_end/testcases/sdk.status
index 38cd79e..f795f08 100644
--- a/pkg/front_end/testcases/sdk.status
+++ b/pkg/front_end/testcases/sdk.status
@@ -2,93 +2,38 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE.md file.
 
-language/branches_test: Crash
-language/operator_test: Crash
-language/prefix5_negative_test: Crash
-language_2/branches_test: Crash
-language_2/operator_test: Crash
-language_2/prefix5_negative_test: Crash
-
-language/async_test/constructor4_generated: VerificationError
-language/const_factory_with_body_test/01_generated: VerificationError
-language/const_instance_field_test/01_generated: VerificationError
-language/constructor10_test/00_generated: VerificationError
-language/constructor10_test/01_generated: VerificationError
-language/constructor10_test/02_generated: VerificationError
-language/enum_syntax_test/20_generated: VerificationError
-language/enum_syntax_test/22_generated: VerificationError
-language/malformed_inheritance_test/03_generated: VerificationError
-language/malformed_inheritance_test/09_generated: VerificationError
-language/malformed_inheritance_test/10_generated: VerificationError
-language/mixin_invalid_inheritance1_test/01_generated: VerificationError
-language/mixin_invalid_inheritance1_test/02_generated: VerificationError
-language/mixin_invalid_inheritance1_test/03_generated: VerificationError
-language/null_test/01_generated: VerificationError
-language/parameter_default_test/01_generated: VerificationError
-language/parameter_default_test/02_generated: VerificationError
-language/parameter_default_test/03_generated: VerificationError
-language/parameter_default_test/04_generated: VerificationError
-language/parameter_default_test/05_generated: VerificationError
-language/parameter_default_test/06_generated: VerificationError
-language/redirecting_factory_infinite_steps_test/02_generated: VerificationError
-language/super_call3_test/01_generated: VerificationError
-language/super_call3_test/02_generated: VerificationError
-language/switch4_negative_test: VerificationError
-language/type_parameter_test/01_generated: VerificationError
-language/type_parameter_test/02_generated: VerificationError
-language/type_parameter_test/03_generated: VerificationError
-language/type_parameter_test/04_generated: VerificationError
-language/type_parameter_test/05_generated: VerificationError
-language/type_parameter_test/06_generated: VerificationError
-language/type_parameter_test/none_generated: VerificationError
-language/type_variable_scope_test/03_generated: VerificationError
-language/unhandled_exception_negative_test: VerificationError
-language/variable_declaration_metadata_test/13_generated: VerificationError
-language/variable_declaration_metadata_test/14_generated: VerificationError
-language_2/const_factory_with_body_test/01_generated: VerificationError
-language_2/const_instance_field_test/01_generated: VerificationError
-language_2/constructor10_test/00_generated: VerificationError
-language_2/constructor10_test/01_generated: VerificationError
-language_2/constructor10_test/02_generated: VerificationError
-language_2/enum_syntax_test/20_generated: VerificationError
-language_2/enum_syntax_test/22_generated: VerificationError
-language_2/malformed_inheritance_test/02_generated: VerificationError
-language_2/malformed_inheritance_test/08_generated: VerificationError
-language_2/malformed_inheritance_test/09_generated: VerificationError
-language_2/mixin_invalid_inheritance1_test/01_generated: VerificationError
-language_2/mixin_invalid_inheritance1_test/02_generated: VerificationError
-language_2/mixin_invalid_inheritance1_test/03_generated: VerificationError
-language_2/null_test/01_generated: VerificationError
-language_2/parameter_default_test/01_generated: VerificationError
-language_2/parameter_default_test/02_generated: VerificationError
-language_2/parameter_default_test/03_generated: VerificationError
-language_2/parameter_default_test/04_generated: VerificationError
-language_2/parameter_default_test/05_generated: VerificationError
-language_2/parameter_default_test/06_generated: VerificationError
-language_2/redirecting_factory_infinite_steps_test/02_generated: VerificationError
-language_2/super_call3_test/01_generated: VerificationError
-language_2/super_call3_test/02_generated: VerificationError
-language_2/switch4_negative_test: VerificationError
+language_2/async_await_syntax_test/a05g_generated: Crash
+language_2/async_await_syntax_test/b10b_generated: Crash
+language_2/async_await_syntax_test/c11a_generated: Crash
+language_2/conditional_property_assignment_test/04_generated: VerificationError
+language_2/conditional_property_assignment_test/13_generated: VerificationError
+language_2/conditional_property_increment_decrement_test/04_generated: VerificationError
+language_2/conditional_property_increment_decrement_test/08_generated: VerificationError
+language_2/conditional_property_increment_decrement_test/12_generated: VerificationError
+language_2/conditional_property_increment_decrement_test/16_generated: VerificationError
+language_2/conditional_property_increment_decrement_test/21_generated: VerificationError
+language_2/conditional_property_increment_decrement_test/27_generated: VerificationError
+language_2/if_null_assignment_behavior_test/13_generated: Crash
+language_2/if_null_assignment_behavior_test/15_generated: Crash
+language_2/if_null_assignment_behavior_test/29_generated: Crash
+language_2/superinterface_variance/mixin_error_test/37_generated: Crash
+language_2/superinterface_variance/mixin_error_test/38_generated: Crash
+language_2/superinterface_variance/mixin_error_test/40_generated: Crash
+language_2/superinterface_variance/mixin_error_test/41_generated: Crash
+language_2/superinterface_variance/mixin_error_test/42_generated: Crash
+language_2/superinterface_variance/mixin_error_test/43_generated: Crash
+language_2/superinterface_variance/mixin_error_test/44_generated: Crash
+language_2/superinterface_variance/mixin_error_test/46_generated: Crash
+language_2/superinterface_variance/mixin_error_test/47_generated: Crash
+language_2/superinterface_variance/mixin_error_test/48_generated: Crash
 language_2/type_parameter_test/04_generated: VerificationError
 language_2/type_parameter_test/05_generated: VerificationError
 language_2/type_parameter_test/06_generated: VerificationError
 language_2/type_parameter_test/08_generated: VerificationError
 language_2/type_parameter_test/09_generated: VerificationError
 language_2/type_variable_scope_test/03_generated: VerificationError
-language_2/variable_declaration_metadata_test/13_generated: VerificationError
-language_2/variable_declaration_metadata_test/14_generated: VerificationError
-language_strong/conditional_import_string_test: VerificationError
-language_strong/conditional_import_test: VerificationError
-language_strong/const_factory_with_body_test/01_generated: VerificationError
-language_strong/const_instance_field_test/01_generated: VerificationError
-language_strong/malformed_inheritance_test/03_generated: VerificationError
-language_strong/malformed_inheritance_test/09_generated: VerificationError
-language_strong/malformed_inheritance_test/10_generated: VerificationError
-language_strong/mixin_invalid_inheritance1_test/01_generated: VerificationError
-language_strong/mixin_invalid_inheritance1_test/02_generated: VerificationError
-language_strong/mixin_invalid_inheritance1_test/03_generated: VerificationError
-language_strong/recursive_generic_test: VerificationError
-language_strong/redirecting_factory_infinite_steps_test/02_generated: VerificationError
-language_strong/super_call3_test/01_generated: VerificationError
-language_strong/super_call3_test/02_generated: VerificationError
-language_strong/switch4_negative_test: VerificationError
+language_2/void/void_type_usage_test/final_local_use_in_conditional_assignment_left_generated: Crash
+language_2/void/void_type_usage_test/paren_use_in_conditional_assignment_left_generated: Crash
+language_2/constructor5_test: VerificationError
+language_2/constructor6_test: VerificationError
+language_2/extension_methods/static_extension_operators_test: VerificationError
\ No newline at end of file
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.legacy.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.legacy.expect
deleted file mode 100644
index f0312aa..0000000
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.legacy.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-import "dart:async" as asy;
-
-import "dart:async";
-import "dart:collection";
-
-static method main() → dynamic async {
-  core::Map<core::int*, core::bool*>* m = <dynamic, dynamic>{};
-  core::Set<core::int*>* s = <dynamic, dynamic>{};
-  core::Iterable<core::int*>* i = <dynamic, dynamic>{};
-  col::LinkedHashSet<core::int*>* lhs = <dynamic, dynamic>{};
-  col::LinkedHashMap<core::int*, core::bool*>* lhm = <dynamic, dynamic>{};
-  core::Map<core::int*, core::bool*>* fm = await self::mapfun();
-  core::Set<core::int*>* fs = await self::setfun();
-  core::Iterable<core::int*>* fi = await self::iterablefun();
-  col::LinkedHashSet<core::int*>* flhs = await self::lhsfun();
-  col::LinkedHashMap<core::int*, core::bool*>* flhm = await self::lhmfun();
-  core::Map<core::int*, core::bool*>* fm2 = await self::mapfun2();
-  core::Set<core::int*>* fs2 = await self::setfun2();
-  core::Iterable<core::int*>* fi2 = await self::iterablefun2();
-  col::LinkedHashSet<core::int*>* flhs2 = await self::lhsfun2();
-  col::LinkedHashMap<core::int*, core::bool*>* flhm2 = await self::lhmfun2();
-}
-static method mapfun() → asy::Future<core::Map<core::int*, core::bool*>*>* async 
-  return <dynamic, dynamic>{};
-static method setfun() → asy::Future<core::Set<core::int*>*>* async 
-  return <dynamic, dynamic>{};
-static method iterablefun() → asy::Future<core::Iterable<core::int*>*>* async 
-  return <dynamic, dynamic>{};
-static method lhsfun() → asy::Future<col::LinkedHashSet<core::int*>*>* async 
-  return <dynamic, dynamic>{};
-static method lhmfun() → asy::Future<col::LinkedHashMap<core::int*, core::bool*>*>* async 
-  return <dynamic, dynamic>{};
-static method mapfun2() → asy::FutureOr<core::Map<core::int*, core::bool*>*>*
-  return <dynamic, dynamic>{};
-static method setfun2() → asy::FutureOr<core::Set<core::int*>*>*
-  return <dynamic, dynamic>{};
-static method iterablefun2() → asy::FutureOr<core::Iterable<core::int*>*>*
-  return <dynamic, dynamic>{};
-static method lhsfun2() → asy::FutureOr<col::LinkedHashSet<core::int*>*>*
-  return <dynamic, dynamic>{};
-static method lhmfun2() → asy::FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>*
-  return <dynamic, dynamic>{};
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.legacy.transformed.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.legacy.transformed.expect
deleted file mode 100644
index 3b04358..0000000
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,205 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-import "dart:async";
-import "dart:collection";
-
-static method main() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        core::Map<core::int*, core::bool*>* m = <dynamic, dynamic>{};
-        core::Set<core::int*>* s = <dynamic, dynamic>{};
-        core::Iterable<core::int*>* i = <dynamic, dynamic>{};
-        col::LinkedHashSet<core::int*>* lhs = <dynamic, dynamic>{};
-        col::LinkedHashMap<core::int*, core::bool*>* lhm = <dynamic, dynamic>{};
-        [yield] let dynamic #t1 = asy::_awaitHelper(self::mapfun(), :async_op_then, :async_op_error, :async_op) in null;
-        core::Map<core::int*, core::bool*>* fm = :result;
-        [yield] let dynamic #t2 = asy::_awaitHelper(self::setfun(), :async_op_then, :async_op_error, :async_op) in null;
-        core::Set<core::int*>* fs = :result;
-        [yield] let dynamic #t3 = asy::_awaitHelper(self::iterablefun(), :async_op_then, :async_op_error, :async_op) in null;
-        core::Iterable<core::int*>* fi = :result;
-        [yield] let dynamic #t4 = asy::_awaitHelper(self::lhsfun(), :async_op_then, :async_op_error, :async_op) in null;
-        col::LinkedHashSet<core::int*>* flhs = :result;
-        [yield] let dynamic #t5 = asy::_awaitHelper(self::lhmfun(), :async_op_then, :async_op_error, :async_op) in null;
-        col::LinkedHashMap<core::int*, core::bool*>* flhm = :result;
-        [yield] let dynamic #t6 = asy::_awaitHelper(self::mapfun2(), :async_op_then, :async_op_error, :async_op) in null;
-        core::Map<core::int*, core::bool*>* fm2 = :result;
-        [yield] let dynamic #t7 = asy::_awaitHelper(self::setfun2(), :async_op_then, :async_op_error, :async_op) in null;
-        core::Set<core::int*>* fs2 = :result;
-        [yield] let dynamic #t8 = asy::_awaitHelper(self::iterablefun2(), :async_op_then, :async_op_error, :async_op) in null;
-        core::Iterable<core::int*>* fi2 = :result;
-        [yield] let dynamic #t9 = asy::_awaitHelper(self::lhsfun2(), :async_op_then, :async_op_error, :async_op) in null;
-        col::LinkedHashSet<core::int*>* flhs2 = :result;
-        [yield] let dynamic #t10 = asy::_awaitHelper(self::lhmfun2(), :async_op_then, :async_op_error, :async_op) in null;
-        col::LinkedHashMap<core::int*, core::bool*>* flhm2 = :result;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method mapfun() → asy::Future<core::Map<core::int*, core::bool*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::Map<core::int*, core::bool*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::Map<core::int*, core::bool*>*>();
-  asy::FutureOr<core::Map<core::int*, core::bool*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :return_value = <dynamic, dynamic>{};
-        break #L2;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method setfun() → asy::Future<core::Set<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::Set<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::Set<core::int*>*>();
-  asy::FutureOr<core::Set<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L3:
-      {
-        :return_value = <dynamic, dynamic>{};
-        break #L3;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method iterablefun() → asy::Future<core::Iterable<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<core::Iterable<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<core::Iterable<core::int*>*>();
-  asy::FutureOr<core::Iterable<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L4:
-      {
-        :return_value = <dynamic, dynamic>{};
-        break #L4;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method lhsfun() → asy::Future<col::LinkedHashSet<core::int*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<col::LinkedHashSet<core::int*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<col::LinkedHashSet<core::int*>*>();
-  asy::FutureOr<col::LinkedHashSet<core::int*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L5:
-      {
-        :return_value = <dynamic, dynamic>{};
-        break #L5;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method lhmfun() → asy::Future<col::LinkedHashMap<core::int*, core::bool*>*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<col::LinkedHashMap<core::int*, core::bool*>*>* :async_completer = new asy::_AsyncAwaitCompleter::•<col::LinkedHashMap<core::int*, core::bool*>*>();
-  asy::FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>* :return_value;
-  dynamic :async_stack_trace;
-  dynamic :async_op_then;
-  dynamic :async_op_error;
-  dynamic :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L6:
-      {
-        :return_value = <dynamic, dynamic>{};
-        break #L6;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic :exception, dynamic :stack_trace) {
-      :async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
-    }
-  :async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_completer.start(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method mapfun2() → asy::FutureOr<core::Map<core::int*, core::bool*>*>*
-  return <dynamic, dynamic>{};
-static method setfun2() → asy::FutureOr<core::Set<core::int*>*>*
-  return <dynamic, dynamic>{};
-static method iterablefun2() → asy::FutureOr<core::Iterable<core::int*>*>*
-  return <dynamic, dynamic>{};
-static method lhsfun2() → asy::FutureOr<col::LinkedHashSet<core::int*>*>*
-  return <dynamic, dynamic>{};
-static method lhmfun2() → asy::FutureOr<col::LinkedHashMap<core::int*, core::bool*>*>*
-  return <dynamic, dynamic>{};
diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status
index d52e841..3cd71a8 100644
--- a/pkg/front_end/testcases/strong.status
+++ b/pkg/front_end/testcases/strong.status
@@ -6,6 +6,7 @@
 # Kernel ASTs directly, that is, code in pkg/fasta/lib/src/kernel/ with
 # strong-mode enabled.
 
+extensions/extension_methods: RuntimeError
 general/abstract_members: TypeCheckError
 general/accessors: RuntimeError
 general/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
@@ -23,7 +24,6 @@
 general/duplicated_field_initializer: RuntimeError
 general/dynamic_and_void: InstrumentationMismatch # Test assumes Dart 1.0 semantics
 general/expressions: RuntimeError
-general/extension_methods: RuntimeError
 general/external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
 general/fallthrough: ExpectationFileMismatch
 general/ignore_function: TypeCheckError
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index 6913fc8..3a7d406 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -9,6 +9,7 @@
 expression/eval: TextSerializationFailure # Was: Pass
 expression/main: TextSerializationFailure # Was: Pass
 extensions/explicit_this: TextSerializationFailure
+extensions/extension_methods: TextSerializationFailure
 extensions/implicit_this: TextSerializationFailure
 extensions/direct_instance_access: TextSerializationFailure
 extensions/direct_static_access: TextSerializationFailure
@@ -103,7 +104,6 @@
 general/export_main: TextSerializationFailure # Was: Pass
 general/export_test: TextSerializationFailure # Was: Pass
 general/expressions: TextSerializationFailure # Was: RuntimeError
-general/extension_methods: TextSerializationFailure
 general/external: TextSerializationFailure # Was: Pass
 general/external_import: TextSerializationFailure # Was: RuntimeError # The native extension to import doesn't exist. This is ok.
 general/fallthrough: ExpectationFileMismatch
diff --git a/pkg/front_end/testing.json b/pkg/front_end/testing.json
index 9ee45ec..8119cab 100644
--- a/pkg/front_end/testing.json
+++ b/pkg/front_end/testing.json
@@ -69,42 +69,6 @@
     },
 
     {
-      "name": "legacy",
-      "kind": "Chain",
-      "source": "test/fasta/legacy_test.dart",
-      "path": "testcases/",
-      "status": "testcases/legacy.status",
-      "pattern": [
-        "\\.dart$"
-      ],
-      "exclude": [
-        "/testcases/.*_part[0-9]*\\.dart$",
-        "/testcases/.*_lib[0-9]*\\.dart$",
-	"/testcases/general/bug33099",
-	"/testcases/general/covariant_generic",
-	"/testcases/inference/bug32291",
-	"/testcases/inference/downward_inference_miscellaneous",
-	"/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound",
-	"/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method",
-	"/testcases/inference/generic_methods_nested_generic_instantiation",
-	"/testcases/inference/infer_list_literal_nested_in_map_literal",
-	"/testcases/inference/infer_return_of_statement_lambda",
-	"/testcases/inference/override_equals",
-	"/testcases/inference/unsafe_block_closure_inference_in_map_typed",
-	"/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param",
-	"/testcases/rasta/issue_000002",
-	"/testcases/regress/issue_31766",
-	"/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast",
-	"/testcases/runtime_checks_new/mixin_forwarding_stub_field",
-	"/testcases/runtime_checks_new/mixin_forwarding_stub_setter",
-	"/testcases/runtime_checks_new/stub_checked_via_target",
-        "/testcases/dartino/",
-        "/testcases/shaker/",
-        "/testcases/expression/"
-      ]
-    },
-
-    {
       "name": "strong",
       "kind": "Chain",
       "source": "test/fasta/strong_test.dart",
@@ -317,7 +281,7 @@
       "status": "testcases/sdk.status",
       "process-multitests": true,
       "pattern": [
-        "/sdk/tests/language(|_2|_strong)/.*_test\\.dart$"
+        "/sdk/tests/language_2/.*_test\\.dart$"
       ],
       "": "deep_nesting{1,2}_negative_test are ignored because they cause a",
       "": "crash that we're ignoring for now (it was fixed in Rasta).",
diff --git a/pkg/front_end/testing_with_lints.json b/pkg/front_end/testing_with_lints.json
new file mode 100644
index 0000000..f327807
--- /dev/null
+++ b/pkg/front_end/testing_with_lints.json
@@ -0,0 +1,23 @@
+{
+"ignored_1":"Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file",
+"ignored_2":"for details. All rights reserved. Use of this source code is governed by a",
+"ignored_3":"BSD-style license that can be found in the LICENSE.md file.",
+
+  "packages": "../../.packages",
+  "analyze": {
+    "options": "analysis_options.yaml",
+    "uris": [
+      "lib/"
+    ],
+
+    "exclude": [
+      "test/extensions/data/",
+      "test/id_testing/data/",
+      "test/language_versioning/data/",
+      "test/flow_analysis/definite_assignment/data/",
+      "test/flow_analysis/nullability/data/",
+      "test/flow_analysis/reachability/data/",
+      "test/flow_analysis/type_promotion/data/"
+    ]
+  }
+}
diff --git a/pkg/front_end/tool/_fasta/entry_points.dart b/pkg/front_end/tool/_fasta/entry_points.dart
index b11e457..4fc6d9d 100644
--- a/pkg/front_end/tool/_fasta/entry_points.dart
+++ b/pkg/front_end/tool/_fasta/entry_points.dart
@@ -19,6 +19,7 @@
 import 'package:kernel/type_environment.dart' show SubtypeTester;
 
 import 'package:vm/bytecode/gen_bytecode.dart' show generateBytecode;
+import 'package:vm/bytecode/options.dart' show BytecodeOptions;
 
 import 'package:front_end/src/api_prototype/compiler_options.dart'
     show CompilerOptions;
@@ -329,7 +330,12 @@
   c.options.ticker.logMs("Wrote outline to ${outlineOutput.toFilePath()}");
 
   if (c.options.bytecode) {
-    generateBytecode(result.component);
+    generateBytecode(result.component,
+        options: new BytecodeOptions(
+            enableAsserts: true,
+            emitSourceFiles: true,
+            emitSourcePositions: true,
+            environmentDefines: c.options.environmentDefines));
   }
 
   await writeComponentToFile(result.component, fullOutput,
diff --git a/pkg/kernel/pubspec.yaml b/pkg/kernel/pubspec.yaml
index 87a9c54..2ee72eb 100644
--- a/pkg/kernel/pubspec.yaml
+++ b/pkg/kernel/pubspec.yaml
@@ -1,7 +1,7 @@
 name: kernel
 # Currently, kernel API is not stable and users should
 # not depend on semver semantics when depending on this package.
-version: 0.3.22
+version: 0.3.23
 author: Dart Team <misc@dartlang.org>
 description: Dart IR (Intermediate Representation)
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/kernel
diff --git a/pkg/kernel/test/type_parser.dart b/pkg/kernel/test/type_parser.dart
index 8599091..a534824 100644
--- a/pkg/kernel/test/type_parser.dart
+++ b/pkg/kernel/test/type_parser.dart
@@ -30,6 +30,8 @@
   static const int Arrow = 11; // '=>'
   static const int Colon = 12;
   static const int Ampersand = 13;
+  static const int QuestionMark = 14;
+  static const int Asterisk = 15;
   static const int Invalid = 100;
 }
 
@@ -95,12 +97,16 @@
     switch (character) {
       case 38:
         return Token.Ampersand;
+      case 42:
+        return Token.Asterisk;
       case 44:
         return Token.Comma;
       case 60:
         return Token.LeftAngle;
       case 62:
         return Token.RightAngle;
+      case 63:
+        return Token.QuestionMark;
       case 40:
         return Token.LeftParen;
       case 41:
@@ -130,6 +136,20 @@
     }
   }
 
+  Nullability parseOptionalNullability() {
+    int token = peekToken();
+    switch (token) {
+      case Token.QuestionMark:
+        scanToken();
+        return Nullability.nullable;
+      case Token.Asterisk:
+        scanToken();
+        return Nullability.legacy;
+      default:
+        return Nullability.nonNullable;
+    }
+  }
+
   DartType parseType() {
     int token = peekToken();
     switch (token) {
@@ -143,10 +163,15 @@
         if (target == null) {
           return fail('Unresolved type $name');
         } else if (target is Class) {
-          return new InterfaceType(target, parseOptionalTypeArgumentList());
+          List<DartType> typeArguments = parseOptionalTypeArgumentList();
+          Nullability nullability = parseOptionalNullability();
+          return new InterfaceType(target, typeArguments, nullability);
         } else if (target is Typedef) {
-          return new TypedefType(target, parseOptionalTypeArgumentList());
+          List<DartType> typeArguments = parseOptionalTypeArgumentList();
+          Nullability nullability = parseOptionalNullability();
+          return new TypedefType(target, typeArguments, nullability);
         } else if (target is TypeParameter) {
+          Nullability nullability = parseOptionalNullability();
           DartType promotedBound;
           switch (peekToken()) {
             case Token.LeftAngle:
@@ -158,7 +183,7 @@
             default:
               break;
           }
-          return new TypeParameterType(target, promotedBound);
+          return new TypeParameterType(target, promotedBound, nullability);
         }
         return fail("Unexpected lookup result for $name: $target");
 
@@ -167,9 +192,10 @@
         List<NamedType> namedParameters = <NamedType>[];
         parseParameterList(parameters, namedParameters);
         consumeString('=>');
+        Nullability nullability = parseOptionalNullability();
         var returnType = parseType();
         return new FunctionType(parameters, returnType,
-            namedParameters: namedParameters);
+            namedParameters: namedParameters, nullability: nullability);
 
       case Token.LeftAngle:
         var typeParameters = parseAndPushTypeParameterList();
@@ -177,10 +203,13 @@
         List<NamedType> namedParameters = <NamedType>[];
         parseParameterList(parameters, namedParameters);
         consumeString('=>');
+        Nullability nullability = parseOptionalNullability();
         var returnType = parseType();
         popTypeParameters(typeParameters);
         return new FunctionType(parameters, returnType,
-            typeParameters: typeParameters, namedParameters: namedParameters);
+            typeParameters: typeParameters,
+            namedParameters: namedParameters,
+            nullability: nullability);
 
       default:
         return fail('Unexpected token: $tokenText');
diff --git a/pkg/kernel/test/type_substitute_bounds_test.dart b/pkg/kernel/test/type_substitute_bounds_test.dart
index bddd7bd..396e876 100644
--- a/pkg/kernel/test/type_substitute_bounds_test.dart
+++ b/pkg/kernel/test/type_substitute_bounds_test.dart
@@ -30,6 +30,8 @@
       '(<F>(String) => int) => int'),
   testCase('<E>((T) => int) => int', {'T': bound('_', 'String')},
       '<E>((String) => int) => int'),
+
+  testCase('(T?) =>* String', {'T': bound('int', 'int')}, '(int?) =>* String'),
 ];
 
 class TestCase {
diff --git a/pkg/nnbd_migration/lib/nnbd_migration.dart b/pkg/nnbd_migration/lib/nnbd_migration.dart
index 21a929c..e20f78f 100644
--- a/pkg/nnbd_migration/lib/nnbd_migration.dart
+++ b/pkg/nnbd_migration/lib/nnbd_migration.dart
@@ -4,6 +4,7 @@
 
 import 'package:analysis_server/src/protocol_server.dart';
 import 'package:analyzer/dart/analysis/results.dart';
+import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:meta/meta.dart';
 import 'package:nnbd_migration/src/nullability_migration_impl.dart';
@@ -79,16 +80,18 @@
 /// [NullabilityMigrationListener] is used by [NullabilityMigration]
 /// to communicate source changes or "fixes" to the client.
 abstract class NullabilityMigrationListener {
-  /// Add the given [detail] to the list of details to be returned to the
-  /// client.
-  void addDetail(String detail);
-
   /// [addEdit] is called once for each source edit, in the order in which they
   /// appear in the source file.
   void addEdit(SingleNullabilityFix fix, SourceEdit edit);
 
   /// [addFix] is called once for each source change.
   void addFix(SingleNullabilityFix fix);
+
+  /// [reportException] is called once for each exception that occurs in
+  /// "permissive mode", reporting the location of the exception and the
+  /// exception details.
+  void reportException(
+      Source source, AstNode node, Object exception, StackTrace stackTrace);
 }
 
 /// Representation of a single conceptual change made by the nullability
diff --git a/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart b/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart
index af4fd5d..a01cb83 100644
--- a/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart
+++ b/pkg/nnbd_migration/lib/src/already_migrated_code_decorator.dart
@@ -54,8 +54,9 @@
           positionalParameters: positionalParameters);
     } else if (type is InterfaceType) {
       if (type.typeParameters.isNotEmpty) {
-        // TODO(paulberry)
-        throw UnimplementedError('Decorating ${type.displayName}');
+        assert(type.typeArguments.length == type.typeParameters.length);
+        return DecoratedType(type, _graph.never,
+            typeArguments: type.typeArguments.map(decorate).toList());
       }
       return DecoratedType(type, _graph.never);
     } else if (type is TypeParameterType) {
diff --git a/pkg/nnbd_migration/lib/src/decorated_type.dart b/pkg/nnbd_migration/lib/src/decorated_type.dart
index 81327fa..1480f7e 100644
--- a/pkg/nnbd_migration/lib/src/decorated_type.dart
+++ b/pkg/nnbd_migration/lib/src/decorated_type.dart
@@ -6,9 +6,8 @@
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/element/type.dart';
-import 'package:analyzer_plugin/protocol/protocol_common.dart' show SourceEdit;
+import 'package:analyzer/src/generated/resolver.dart';
 import 'package:nnbd_migration/src/nullability_node.dart';
-import 'package:nnbd_migration/src/potential_modification.dart';
 
 /// Representation of a type in the code to be migrated.  In addition to
 /// tracking the (unmigrated) [DartType], we track the [ConstraintVariable]s
@@ -112,26 +111,27 @@
   /// Creates a decorated type corresponding to [type], with fresh nullability
   /// nodes everywhere that don't correspond to any source location.  These
   /// nodes can later be unioned with other nodes.
-  factory DecoratedType.forImplicitFunction(
+  factory DecoratedType.forImplicitFunction(TypeProvider typeProvider,
       FunctionType type, NullabilityNode node, NullabilityGraph graph,
       {DecoratedType returnType}) {
-    if (type.typeFormals.isNotEmpty) {
-      throw new UnimplementedError('Decorating a generic function type');
-    }
     var positionalParameters = <DecoratedType>[];
     var namedParameters = <String, DecoratedType>{};
     for (var parameter in type.parameters) {
       if (parameter.isPositional) {
-        positionalParameters
-            .add(DecoratedType.forImplicitType(parameter.type, graph));
+        positionalParameters.add(
+            DecoratedType.forImplicitType(typeProvider, parameter.type, graph));
       } else {
         namedParameters[parameter.name] =
-            DecoratedType.forImplicitType(parameter.type, graph);
+            DecoratedType.forImplicitType(typeProvider, parameter.type, graph);
       }
     }
     return DecoratedType(type, node,
-        returnType:
-            returnType ?? DecoratedType.forImplicitType(type.returnType, graph),
+        typeFormalBounds: type.typeFormals
+            .map((e) => DecoratedType.forImplicitType(
+                typeProvider, e.bound ?? typeProvider.objectType, graph))
+            .toList(),
+        returnType: returnType ??
+            DecoratedType.forImplicitType(typeProvider, type.returnType, graph),
         namedParameters: namedParameters,
         positionalParameters: positionalParameters);
   }
@@ -139,19 +139,22 @@
   /// Creates a DecoratedType corresponding to [type], with fresh nullability
   /// nodes everywhere that don't correspond to any source location.  These
   /// nodes can later be unioned with other nodes.
-  factory DecoratedType.forImplicitType(DartType type, NullabilityGraph graph) {
+  factory DecoratedType.forImplicitType(
+      TypeProvider typeProvider, DartType type, NullabilityGraph graph) {
     if (type.isDynamic || type.isVoid) {
       return DecoratedType(type, graph.always);
     } else if (type is InterfaceType) {
       return DecoratedType(type, NullabilityNode.forInferredType(),
           typeArguments: type.typeArguments
-              .map((t) => DecoratedType.forImplicitType(t, graph))
+              .map((t) => DecoratedType.forImplicitType(typeProvider, t, graph))
               .toList());
     } else if (type is FunctionType) {
       return DecoratedType.forImplicitFunction(
-          type, NullabilityNode.forInferredType(), graph);
+          typeProvider, type, NullabilityNode.forInferredType(), graph);
     } else if (type is TypeParameterType) {
       return DecoratedType(type, NullabilityNode.forInferredType());
+    } else if (type is BottomTypeImpl) {
+      return DecoratedType(type, NullabilityNode.forInferredType());
     }
     // TODO(paulberry)
     throw UnimplementedError(
@@ -490,32 +493,3 @@
     return true;
   }
 }
-
-/// A [DecoratedType] based on a type annotation appearing explicitly in the
-/// source code.
-///
-/// This class implements [PotentialModification] because it knows how to update
-/// the source code to reflect its nullability.
-class DecoratedTypeAnnotation extends DecoratedType
-    implements PotentialModification {
-  final int _offset;
-
-  DecoratedTypeAnnotation(
-      DartType type, NullabilityNode nullabilityNode, this._offset,
-      {List<DecoratedType> typeArguments = const [],
-      DecoratedType returnType,
-      List<DecoratedType> positionalParameters = const [],
-      Map<String, DecoratedType> namedParameters = const {}})
-      : super(type, nullabilityNode,
-            typeArguments: typeArguments,
-            returnType: returnType,
-            positionalParameters: positionalParameters,
-            namedParameters: namedParameters);
-
-  @override
-  bool get isEmpty => !node.isNullable;
-
-  @override
-  Iterable<SourceEdit> get modifications =>
-      isEmpty ? [] : [SourceEdit(_offset, 0, '?')];
-}
diff --git a/pkg/nnbd_migration/lib/src/edge_builder.dart b/pkg/nnbd_migration/lib/src/edge_builder.dart
index 2748382..d6bdee5 100644
--- a/pkg/nnbd_migration/lib/src/edge_builder.dart
+++ b/pkg/nnbd_migration/lib/src/edge_builder.dart
@@ -95,8 +95,8 @@
 
   final NullabilityGraph _graph;
 
-  /// The file being analyzed.
-  final Source _source;
+  @override
+  final Source source;
 
   @override
   final DecoratedClassHierarchy _decoratedClassHierarchy;
@@ -108,7 +108,7 @@
 
   /// If we are visiting a function body or initializer, assigned variable
   /// information  used in flow analysis.  Otherwise `null`.
-  AssignedVariables<Statement, VariableElement> _assignedVariables;
+  AssignedVariables<AstNode, VariableElement> _assignedVariables;
 
   /// For convenience, a [DecoratedType] representing non-nullable `Object`.
   final DecoratedType _notNullType;
@@ -165,7 +165,7 @@
   final Map<Expression, NullabilityNode> _conditionalNodes = {};
 
   EdgeBuilder(TypeProvider typeProvider, this._typeSystem, this._variables,
-      this._graph, this._source, this.listener)
+      this._graph, this.source, this.listener)
       : _decoratedClassHierarchy = DecoratedClassHierarchy(_variables, _graph),
         _inheritanceManager = InheritanceManager3(_typeSystem),
         _notNullType = DecoratedType(typeProvider.objectType, _graph.never),
@@ -246,7 +246,7 @@
       var intentNode = _conditionInfo.trueDemonstratesNonNullIntent;
       if (intentNode != null && _conditionInfo.postDominatingIntent) {
         _graph.connect(_conditionInfo.trueDemonstratesNonNullIntent,
-            _graph.never, NonNullAssertionOrigin(_source, node.offset),
+            _graph.never, NonNullAssertionOrigin(source, node.offset),
             hard: true);
       }
     }
@@ -331,7 +331,7 @@
         var ifNullNode = NullabilityNode.forIfNotNull();
         expressionType = DecoratedType(node.staticType, ifNullNode);
         _connect(rightType.node, expressionType.node,
-            IfNullOrigin(_source, node.offset));
+            IfNullOrigin(source, node.offset));
       } finally {
         _guards.removeLast();
       }
@@ -426,7 +426,7 @@
               .asSubstitution);
       var superConstructorDecoratedType =
           _variables.decoratedElementType(superConstructorElement);
-      var origin = ImplicitMixinSuperCallOrigin(_source, node.offset);
+      var origin = ImplicitMixinSuperCallOrigin(source, node.offset);
       _unionDecoratedTypeParameters(
           constructorDecoratedType, superConstructorDecoratedType, origin);
     }
@@ -511,7 +511,7 @@
         _connect(
             _graph.always,
             getOrComputeElementType(node.declaredElement).node,
-            OptionalFormalParameterOrigin(_source, node.offset));
+            OptionalFormalParameterOrigin(source, node.offset));
       }
     } else {
       _handleAssignment(defaultValue,
@@ -568,7 +568,7 @@
     var parameterElement = node.declaredElement as FieldFormalParameterElement;
     var parameterType = _variables.decoratedElementType(parameterElement);
     var fieldType = _variables.decoratedElementType(parameterElement.field);
-    var origin = FieldFormalParameterOrigin(_source, node.offset);
+    var origin = FieldFormalParameterOrigin(source, node.offset);
     if (node.type == null) {
       _unionDecoratedTypes(parameterType, fieldType, origin);
     } else {
@@ -580,13 +580,13 @@
 
   @override
   DecoratedType visitForElement(ForElement node) {
-    _handleForLoopParts(node.forLoopParts, node.body);
+    _handleForLoopParts(node, node.forLoopParts, node.body);
     return null;
   }
 
   @override
   DecoratedType visitForStatement(ForStatement node) {
-    _handleForLoopParts(node.forLoopParts, node.body);
+    _handleForLoopParts(node, node.forLoopParts, node.body);
     return null;
   }
 
@@ -643,7 +643,7 @@
     if (identical(_conditionInfo?.condition, node.condition)) {
       trueGuard = _conditionInfo.trueGuard;
       falseGuard = _conditionInfo.falseGuard;
-      _variables.recordConditionalDiscard(_source, node,
+      _variables.recordConditionalDiscard(source, node,
           ConditionalDiscard(trueGuard, falseGuard, _conditionInfo.isPure));
     }
     if (trueGuard != null) {
@@ -681,7 +681,7 @@
     if (identical(_conditionInfo?.condition, node.condition)) {
       trueGuard = _conditionInfo.trueGuard;
       falseGuard = _conditionInfo.falseGuard;
-      _variables.recordConditionalDiscard(_source, node,
+      _variables.recordConditionalDiscard(source, node,
           ConditionalDiscard(trueGuard, falseGuard, _conditionInfo.isPure));
     }
     if (trueGuard != null) {
@@ -749,7 +749,7 @@
     var typeArguments = node.constructorName.type.typeArguments;
     if (typeArguments != null) {
       decoratedTypeArguments = typeArguments.arguments
-          .map((t) => _variables.decoratedTypeAnnotation(_source, t))
+          .map((t) => _variables.decoratedTypeAnnotation(source, t))
           .toList();
     } else {
       decoratedTypeArguments = const [];
@@ -807,7 +807,7 @@
       _unimplemented(node, 'List literal with no type arguments');
     } else {
       var typeArgumentType = _variables.decoratedTypeAnnotation(
-          _source, node.typeArguments.arguments[0]);
+          source, node.typeArguments.arguments[0]);
       if (typeArgumentType == null) {
         _unimplemented(node, 'Could not compute type argument type');
       }
@@ -1000,7 +1000,7 @@
       _unimplemented(node, 'Set or map literal with no type arguments');
     } else if (typeArguments.length == 1) {
       var elementType =
-          _variables.decoratedTypeAnnotation(_source, typeArguments[0]);
+          _variables.decoratedTypeAnnotation(source, typeArguments[0]);
       for (var element in node.elements) {
         if (element is Expression) {
           _handleAssignment(element, destinationType: elementType);
@@ -1015,9 +1015,9 @@
           typeArguments: [elementType]);
     } else if (typeArguments.length == 2) {
       var keyType =
-          _variables.decoratedTypeAnnotation(_source, typeArguments[0]);
+          _variables.decoratedTypeAnnotation(source, typeArguments[0]);
       var valueType =
-          _variables.decoratedTypeAnnotation(_source, typeArguments[1]);
+          _variables.decoratedTypeAnnotation(source, typeArguments[1]);
       for (var element in node.elements) {
         if (element is MapLiteralEntry) {
           _handleAssignment(element.key, destinationType: keyType);
@@ -1114,12 +1114,12 @@
     if (element is TypeParameterizedElement) {
       if (typeArguments == null) {
         var instantiatedType =
-            _variables.decoratedTypeAnnotation(_source, typeName);
+            _variables.decoratedTypeAnnotation(source, typeName);
         if (instantiatedType == null) {
           throw new StateError('No type annotation for type name '
               '${typeName.toSource()}, offset=${typeName.offset}');
         }
-        var origin = InstantiateToBoundsOrigin(_source, typeName.offset);
+        var origin = InstantiateToBoundsOrigin(source, typeName.offset);
         for (int i = 0; i < instantiatedType.typeArguments.length; i++) {
           _unionDecoratedTypes(
               instantiatedType.typeArguments[i],
@@ -1133,7 +1133,7 @@
               _variables.decoratedTypeParameterBound(element.typeParameters[i]);
           assert(bound != null);
           var argumentType =
-              _variables.decoratedTypeAnnotation(_source, typeArguments[i]);
+              _variables.decoratedTypeAnnotation(source, typeArguments[i]);
           if (argumentType == null) {
             _unimplemented(typeName,
                 'No decorated type for type argument ${typeArguments[i]} ($i)');
@@ -1164,7 +1164,7 @@
                 '(${initializer.toSource()}) offset=${initializer.offset}');
           }
           _unionDecoratedTypes(initializerType, destinationType,
-              InitializerInferenceOrigin(_source, variable.name.offset));
+              InitializerInferenceOrigin(source, variable.name.offset));
         } else {
           _handleAssignment(initializer, destinationType: destinationType);
         }
@@ -1394,7 +1394,7 @@
     ExpressionChecks expressionChecks;
     if (canInsertChecks) {
       expressionChecks = ExpressionChecks(expression.end);
-      _variables.recordExpressionChecks(_source, expression, expressionChecks);
+      _variables.recordExpressionChecks(source, expression, expressionChecks);
     }
     _checkAssignment(expressionChecks,
         source: sourceType,
@@ -1457,7 +1457,7 @@
       }
       if (declaredElement is! ConstructorElement) {
         var classElement = declaredElement.enclosingElement as ClassElement;
-        var origin = InheritanceOrigin(_source, node.offset);
+        var origin = InheritanceOrigin(source, node.offset);
         for (var overriddenElement in _inheritanceManager.getOverridden(
                 classElement.type,
                 Name(classElement.library.source.uri, declaredElement.name)) ??
@@ -1539,7 +1539,7 @@
     }
   }
 
-  void _handleForLoopParts(ForLoopParts parts, AstNode body) {
+  void _handleForLoopParts(AstNode node, ForLoopParts parts, AstNode body) {
     if (parts is ForParts) {
       if (parts is ForPartsWithDeclarations) {
         parts.variables?.accept(this);
@@ -1554,6 +1554,7 @@
         _flowAnalysis.add(parts.loopVariable.declaredElement, assigned: true);
       }
       _checkExpressionNotNull(parts.iterable);
+      _flowAnalysis.forEach_bodyBegin(_assignedVariables[node]);
     }
 
     // The condition may fail/iterable may be empty, so the body gets a new
@@ -1563,6 +1564,8 @@
 
       if (parts is ForParts) {
         parts.updaters.accept(this);
+      } else {
+        _flowAnalysis.forEach_end();
       }
     });
   }
@@ -1582,7 +1585,7 @@
     if (typeFormals.isNotEmpty) {
       if (typeArguments != null) {
         var argumentTypes = typeArguments.arguments
-            .map((t) => _variables.decoratedTypeAnnotation(_source, t))
+            .map((t) => _variables.decoratedTypeAnnotation(source, t))
             .toList();
         if (constructorTypeParameters != null) {
           calleeType = calleeType.substitute(
@@ -1632,7 +1635,7 @@
     for (var entry in calleeType.namedParameters.entries) {
       if (suppliedNamedParameters.contains(entry.key)) continue;
       entry.value.node.recordNamedParameterNotSupplied(_guards, _graph,
-          NamedParameterNotSuppliedOrigin(_source, node.offset));
+          NamedParameterNotSuppliedOrigin(source, node.offset));
     }
     return calleeType.returnType;
   }
@@ -1708,7 +1711,7 @@
   NullabilityNode _nullabilityNodeForGLB(
       AstNode astNode, NullabilityNode leftNode, NullabilityNode rightNode) {
     var node = NullabilityNode.forGLB();
-    var origin = GreatestLowerBoundOrigin(_source, astNode.offset);
+    var origin = GreatestLowerBoundOrigin(source, astNode.offset);
     _graph.connect(leftNode, node, origin, guards: [rightNode]);
     _graph.connect(node, leftNode, origin);
     _graph.connect(node, rightNode, origin);
diff --git a/pkg/nnbd_migration/lib/src/node_builder.dart b/pkg/nnbd_migration/lib/src/node_builder.dart
index 7bcf440..9ab1383 100644
--- a/pkg/nnbd_migration/lib/src/node_builder.dart
+++ b/pkg/nnbd_migration/lib/src/node_builder.dart
@@ -17,6 +17,7 @@
 import 'package:nnbd_migration/src/decorated_type.dart';
 import 'package:nnbd_migration/src/expression_checks.dart';
 import 'package:nnbd_migration/src/nullability_node.dart';
+import 'package:nnbd_migration/src/potential_modification.dart';
 import 'package:nnbd_migration/src/utilities/annotation_tracker.dart';
 import 'package:nnbd_migration/src/utilities/permissive_mode.dart';
 
@@ -35,8 +36,8 @@
   /// Constraint variables and decorated types are stored here.
   final VariableRecorder _variables;
 
-  /// The file being analyzed.
-  final Source _source;
+  @override
+  final Source source;
 
   /// If the parameters of a function or method are being visited, the
   /// [DecoratedType]s of the function's named parameters that have been seen so
@@ -62,7 +63,7 @@
   /// For convenience, a [DecoratedType] representing non-nullable `Object`.
   final DecoratedType _nonNullableObjectType;
 
-  NodeBuilder(this._variables, this._source, this.listener, this._graph,
+  NodeBuilder(this._variables, this.source, this.listener, this._graph,
       this._typeProvider)
       : _nonNullableObjectType =
             DecoratedType(_typeProvider.objectType, _graph.never);
@@ -120,7 +121,7 @@
       var decoratedReturnType =
           _createDecoratedTypeForClass(classElement, node);
       var functionType = DecoratedType.forImplicitFunction(
-          constructorElement.type, _graph.never, _graph,
+          _typeProvider, constructorElement.type, _graph.never, _graph,
           returnType: decoratedReturnType);
       _variables.recordDecoratedElementType(constructorElement, functionType);
     }
@@ -129,7 +130,7 @@
 
   @override
   DecoratedType visitCompilationUnit(CompilationUnit node) {
-    _graph.migrating(_source);
+    _graph.migrating(source);
     return super.visitCompilationUnit(node);
   }
 
@@ -155,7 +156,8 @@
       _variables.recordDecoratedElementType(
           node.identifier.staticElement,
           type ??
-              DecoratedType.forImplicitType(node.declaredElement.type, _graph));
+              DecoratedType.forImplicitType(
+                  _typeProvider, node.declaredElement.type, _graph));
     }
     return type;
   }
@@ -174,7 +176,7 @@
           '(${node.parent.parent.toSource()}) offset=${node.offset}');
     }
     decoratedType.node.trackPossiblyOptional();
-    _variables.recordPossiblyOptional(_source, node, decoratedType.node);
+    _variables.recordPossiblyOptional(source, node, decoratedType.node);
     return null;
   }
 
@@ -207,8 +209,44 @@
 
   @override
   DecoratedType visitFunctionTypeAlias(FunctionTypeAlias node) {
-    // TODO(brianwilkerson)
-    _unimplemented(node, 'FunctionTypeAlias');
+    node.metadata.accept(this);
+    var declaredElement = node.declaredElement;
+    var functionType = declaredElement.function.type;
+    var returnType = node.returnType;
+    DecoratedType decoratedReturnType;
+    if (returnType != null) {
+      decoratedReturnType = returnType.accept(this);
+    } else {
+      // Inferred return type.
+      decoratedReturnType = DecoratedType.forImplicitType(
+          _typeProvider, functionType.returnType, _graph);
+    }
+    var previousPositionalParameters = _positionalParameters;
+    var previousNamedParameters = _namedParameters;
+    var previousTypeFormalBounds = _typeFormalBounds;
+    _positionalParameters = [];
+    _namedParameters = {};
+    _typeFormalBounds = [];
+    DecoratedType decoratedFunctionType;
+    try {
+      node.typeParameters?.accept(this);
+      node.parameters?.accept(this);
+      // Node: we don't pass _typeFormalBounds into DecoratedType because we're
+      // not defining a generic function type, we're defining a generic typedef
+      // of an ordinary (non-generic) function type.
+      decoratedFunctionType = DecoratedType(functionType, _graph.never,
+          typeFormalBounds: const [],
+          returnType: decoratedReturnType,
+          positionalParameters: _positionalParameters,
+          namedParameters: _namedParameters);
+    } finally {
+      _positionalParameters = previousPositionalParameters;
+      _namedParameters = previousNamedParameters;
+      _typeFormalBounds = previousTypeFormalBounds;
+    }
+    _variables.recordDecoratedElementType(
+        declaredElement, decoratedFunctionType);
+    return null;
   }
 
   @override
@@ -219,6 +257,23 @@
   }
 
   @override
+  DecoratedType visitGenericTypeAlias(GenericTypeAlias node) {
+    node.metadata.accept(this);
+    var previousTypeFormalBounds = _typeFormalBounds;
+    _typeFormalBounds = [];
+    DecoratedType decoratedFunctionType;
+    try {
+      node.typeParameters?.accept(this);
+      decoratedFunctionType = node.functionType.accept(this);
+    } finally {
+      _typeFormalBounds = previousTypeFormalBounds;
+    }
+    _variables.recordDecoratedElementType(
+        node.declaredElement, decoratedFunctionType);
+    return null;
+  }
+
+  @override
   DecoratedType visitMethodDeclaration(MethodDeclaration node) {
     _handleExecutableDeclaration(
         node.declaredElement,
@@ -255,22 +310,23 @@
     if (type.isVoid || type.isDynamic) {
       var nullabilityNode = NullabilityNode.forTypeAnnotation(node.end);
       _graph.connect(_graph.always, nullabilityNode,
-          AlwaysNullableTypeOrigin(_source, node.offset));
-      var decoratedType =
-          DecoratedTypeAnnotation(type, nullabilityNode, node.offset);
-      _variables.recordDecoratedTypeAnnotation(_source, node, decoratedType,
-          potentialModification: false);
+          AlwaysNullableTypeOrigin(source, node.offset));
+      var decoratedType = DecoratedType(type, nullabilityNode);
+      _variables.recordDecoratedTypeAnnotation(
+          source, node, decoratedType, null);
       return decoratedType;
     }
     var typeArguments = const <DecoratedType>[];
     DecoratedType decoratedReturnType;
     var positionalParameters = const <DecoratedType>[];
     var namedParameters = const <String, DecoratedType>{};
+    var typeFormalBounds = const <DecoratedType>[];
     if (type is InterfaceType && type.typeParameters.isNotEmpty) {
       if (node is TypeName) {
         if (node.typeArguments == null) {
           typeArguments = type.typeArguments
-              .map((t) => DecoratedType.forImplicitType(t, _graph))
+              .map((t) =>
+                  DecoratedType.forImplicitType(_typeProvider, t, _graph))
               .toList();
         } else {
           typeArguments =
@@ -283,23 +339,25 @@
     if (node is GenericFunctionType) {
       var returnType = node.returnType;
       decoratedReturnType = returnType == null
-          ? DecoratedType.forImplicitType(DynamicTypeImpl.instance, _graph)
+          ? DecoratedType.forImplicitType(
+              _typeProvider, DynamicTypeImpl.instance, _graph)
           : returnType.accept(this);
-      if (node.typeParameters != null) {
-        // TODO(paulberry)
-        _unimplemented(node, 'Generic function type with type parameters');
-      }
       positionalParameters = <DecoratedType>[];
       namedParameters = <String, DecoratedType>{};
+      typeFormalBounds = <DecoratedType>[];
       var previousPositionalParameters = _positionalParameters;
       var previousNamedParameters = _namedParameters;
+      var previousTypeFormalBounds = _typeFormalBounds;
       try {
         _positionalParameters = positionalParameters;
         _namedParameters = namedParameters;
+        _typeFormalBounds = typeFormalBounds;
+        node.typeParameters?.accept(this);
         node.parameters.accept(this);
       } finally {
         _positionalParameters = previousPositionalParameters;
         _namedParameters = previousNamedParameters;
+        _typeFormalBounds = previousTypeFormalBounds;
       }
     }
     NullabilityNode nullabilityNode;
@@ -314,22 +372,28 @@
     } else {
       nullabilityNode = NullabilityNode.forTypeAnnotation(node.end);
     }
-    var decoratedType = DecoratedTypeAnnotation(type, nullabilityNode, node.end,
+    var decoratedType = DecoratedType(type, nullabilityNode,
         typeArguments: typeArguments,
         returnType: decoratedReturnType,
         positionalParameters: positionalParameters,
-        namedParameters: namedParameters);
-    _variables.recordDecoratedTypeAnnotation(_source, node, decoratedType);
+        namedParameters: namedParameters,
+        typeFormalBounds: typeFormalBounds);
+    _variables.recordDecoratedTypeAnnotation(
+        source,
+        node,
+        decoratedType,
+        PotentiallyAddQuestionSuffix(
+            nullabilityNode, decoratedType.type, node.end));
     var commentToken = node.endToken.next.precedingComments;
     switch (_classifyComment(commentToken)) {
       case _NullabilityComment.bang:
         _graph.connect(decoratedType.node, _graph.never,
-            NullabilityCommentOrigin(_source, commentToken.offset),
+            NullabilityCommentOrigin(source, commentToken.offset),
             hard: true);
         break;
       case _NullabilityComment.question:
         _graph.connect(_graph.always, decoratedType.node,
-            NullabilityCommentOrigin(_source, commentToken.offset));
+            NullabilityCommentOrigin(source, commentToken.offset));
         break;
       case _NullabilityComment.none:
         break;
@@ -350,7 +414,7 @@
     } else {
       var nullabilityNode = NullabilityNode.forInferredType();
       _graph.union(_graph.always, nullabilityNode,
-          AlwaysNullableTypeOrigin(_source, node.offset));
+          AlwaysNullableTypeOrigin(source, node.offset));
       decoratedBound = DecoratedType(_typeProvider.objectType, nullabilityNode);
     }
     _typeFormalBounds?.add(decoratedBound);
@@ -366,8 +430,11 @@
     for (var variable in node.variables) {
       variable.metadata.accept(this);
       var declaredElement = variable.declaredElement;
-      _variables.recordDecoratedElementType(declaredElement,
-          type ?? DecoratedType.forImplicitType(declaredElement.type, _graph));
+      _variables.recordDecoratedElementType(
+          declaredElement,
+          type ??
+              DecoratedType.forImplicitType(
+                  _typeProvider, declaredElement.type, _graph));
       variable.initializer?.accept(this);
     }
     return null;
@@ -412,8 +479,8 @@
           declaredElement.enclosingElement, parameters.parent);
     } else {
       // Inferred return type.
-      decoratedReturnType =
-          DecoratedType.forImplicitType(functionType.returnType, _graph);
+      decoratedReturnType = DecoratedType.forImplicitType(
+          _typeProvider, functionType.returnType, _graph);
     }
     var previousPositionalParameters = _positionalParameters;
     var previousNamedParameters = _namedParameters;
@@ -453,10 +520,12 @@
     if (parameters == null) {
       decoratedType = type != null
           ? type.accept(this)
-          : DecoratedType.forImplicitType(declaredElement.type, _graph);
+          : DecoratedType.forImplicitType(
+              _typeProvider, declaredElement.type, _graph);
     } else {
       var decoratedReturnType = type == null
-          ? DecoratedType.forImplicitType(DynamicTypeImpl.instance, _graph)
+          ? DecoratedType.forImplicitType(
+              _typeProvider, DynamicTypeImpl.instance, _graph)
           : type.accept(this);
       if (typeParameters != null) {
         // TODO(paulberry)
@@ -475,8 +544,8 @@
         _positionalParameters = previousPositionalParameters;
         _namedParameters = previousNamedParameters;
       }
-      decoratedType = DecoratedTypeAnnotation(declaredElement.type,
-          NullabilityNode.forTypeAnnotation(node.end), node.end,
+      decoratedType = DecoratedType(
+          declaredElement.type, NullabilityNode.forTypeAnnotation(node.end),
           returnType: decoratedReturnType,
           positionalParameters: positionalParameters,
           namedParameters: namedParameters);
@@ -557,9 +626,8 @@
   void recordDecoratedElementType(Element element, DecoratedType type);
 
   /// Associates decorated type information with the given [type] node.
-  void recordDecoratedTypeAnnotation(
-      Source source, TypeAnnotation node, DecoratedTypeAnnotation type,
-      {bool potentialModification: true});
+  void recordDecoratedTypeAnnotation(Source source, TypeAnnotation node,
+      DecoratedType type, PotentiallyAddQuestionSuffix potentialModification);
 
   /// Stores he decorated bound of the given [typeParameter].
   void recordDecoratedTypeParameterBound(
diff --git a/pkg/nnbd_migration/lib/src/nullability_migration_impl.dart b/pkg/nnbd_migration/lib/src/nullability_migration_impl.dart
index 22af1a0..d6baf2e 100644
--- a/pkg/nnbd_migration/lib/src/nullability_migration_impl.dart
+++ b/pkg/nnbd_migration/lib/src/nullability_migration_impl.dart
@@ -7,7 +7,6 @@
 import 'package:analyzer/src/generated/source.dart';
 import 'package:meta/meta.dart';
 import 'package:nnbd_migration/nnbd_migration.dart';
-import 'package:nnbd_migration/src/decorated_type.dart';
 import 'package:nnbd_migration/src/edge_builder.dart';
 import 'package:nnbd_migration/src/expression_checks.dart';
 import 'package:nnbd_migration/src/node_builder.dart';
@@ -104,7 +103,7 @@
     NullabilityFixDescription desc;
     if (potentialModification is ExpressionChecks) {
       desc = NullabilityFixDescription.checkExpression;
-    } else if (potentialModification is DecoratedTypeAnnotation) {
+    } else if (potentialModification is PotentiallyAddQuestionSuffix) {
       desc = NullabilityFixDescription.makeTypeNullable(
           potentialModification.type.toString());
     } else if (potentialModification is ConditionalModification) {
diff --git a/pkg/nnbd_migration/lib/src/potential_modification.dart b/pkg/nnbd_migration/lib/src/potential_modification.dart
index 72b4562..d4f13c3 100644
--- a/pkg/nnbd_migration/lib/src/potential_modification.dart
+++ b/pkg/nnbd_migration/lib/src/potential_modification.dart
@@ -3,6 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer_plugin/protocol/protocol_common.dart' show SourceEdit;
 import 'package:nnbd_migration/src/conditional_discard.dart';
 import 'package:nnbd_migration/src/nullability_node.dart';
@@ -119,6 +120,23 @@
   }
 }
 
+/// Records information about the possible addition of a `?` suffix to a type in
+/// the source code.
+class PotentiallyAddQuestionSuffix extends PotentialModification {
+  final NullabilityNode node;
+  final DartType type;
+  final int _offset;
+
+  PotentiallyAddQuestionSuffix(this.node, this.type, this._offset);
+
+  @override
+  bool get isEmpty => !node.isNullable;
+
+  @override
+  Iterable<SourceEdit> get modifications =>
+      isEmpty ? [] : [SourceEdit(_offset, 0, '?')];
+}
+
 /// Records information about the possible addition of a `@required` annotation
 /// to the source code.
 class PotentiallyAddRequired extends PotentialModification {
diff --git a/pkg/nnbd_migration/lib/src/utilities/annotation_tracker.dart b/pkg/nnbd_migration/lib/src/utilities/annotation_tracker.dart
index 39d8fc9..20f7729 100644
--- a/pkg/nnbd_migration/lib/src/utilities/annotation_tracker.dart
+++ b/pkg/nnbd_migration/lib/src/utilities/annotation_tracker.dart
@@ -26,7 +26,7 @@
   @override
   T visitCompilationUnit(CompilationUnit node) {
     T result;
-    reportExceptionsIfPermissive(() {
+    reportExceptionsIfPermissive(node, () {
       _AnnotationTracker oldAnnotationTracker;
       assert(() {
         oldAnnotationTracker = _annotationTracker;
diff --git a/pkg/nnbd_migration/lib/src/utilities/permissive_mode.dart b/pkg/nnbd_migration/lib/src/utilities/permissive_mode.dart
index 3e22f97..1006efe 100644
--- a/pkg/nnbd_migration/lib/src/utilities/permissive_mode.dart
+++ b/pkg/nnbd_migration/lib/src/utilities/permissive_mode.dart
@@ -4,6 +4,7 @@
 
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
+import 'package:analyzer/src/generated/source.dart';
 import 'package:nnbd_migration/nnbd_migration.dart';
 
 /// Mixin that catches exceptions when visiting an AST recursively, and reports
@@ -14,14 +15,17 @@
 mixin PermissiveModeVisitor<T> on GeneralizingAstVisitor<T> {
   NullabilityMigrationListener /*?*/ get listener;
 
+  /// The file being analyzed.
+  Source get source;
+
   /// Executes [callback].  If [listener] is not `null`, and an exception
   /// occurs, the exception is caught and reported to the [listener].
-  void reportExceptionsIfPermissive(void callback()) {
+  void reportExceptionsIfPermissive(AstNode node, void callback()) {
     if (listener != null) {
       try {
         return callback();
       } catch (exception, stackTrace) {
-        _reportException(exception, stackTrace);
+        listener.reportException(source, node, exception, stackTrace);
       }
     } else {
       callback();
@@ -34,18 +38,11 @@
       try {
         return super.visitNode(node);
       } catch (exception, stackTrace) {
-        _reportException(exception, stackTrace);
+        listener.reportException(source, node, exception, stackTrace);
         return null;
       }
     } else {
       return super.visitNode(node);
     }
   }
-
-  void _reportException(Object exception, StackTrace stackTrace) {
-    listener.addDetail('''
-$exception
-
-$stackTrace''');
-  }
 }
diff --git a/pkg/nnbd_migration/lib/src/variables.dart b/pkg/nnbd_migration/lib/src/variables.dart
index acd3a68..21f5a7b 100644
--- a/pkg/nnbd_migration/lib/src/variables.dart
+++ b/pkg/nnbd_migration/lib/src/variables.dart
@@ -4,6 +4,7 @@
 
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/src/dart/element/handle.dart';
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/source.dart';
@@ -25,8 +26,7 @@
   final _decoratedDirectSupertypes =
       <ClassElement, Map<ClassElement, DecoratedType>>{};
 
-  final _decoratedTypeAnnotations =
-      <Source, Map<int, DecoratedTypeAnnotation>>{};
+  final _decoratedTypeAnnotations = <Source, Map<int, DecoratedType>>{};
 
   final _potentialModifications = <Source, List<PotentialModification>>{};
 
@@ -59,7 +59,7 @@
       throw StateError('No declarated type annotations in ${source.fullName}; '
           'expected one for ${typeAnnotation.toSource()}');
     }
-    DecoratedTypeAnnotation decoratedTypeAnnotation =
+    DecoratedType decoratedTypeAnnotation =
         annotationsInSource[_uniqueOffsetForTypeAnnotation(typeAnnotation)];
     if (decoratedTypeAnnotation == null) {
       throw StateError('Missing declarated type annotation'
@@ -138,10 +138,10 @@
 
   void recordDecoratedExpressionType(Expression node, DecoratedType type) {}
 
-  void recordDecoratedTypeAnnotation(
-      Source source, TypeAnnotation node, DecoratedTypeAnnotation type,
-      {bool potentialModification: true}) {
-    if (potentialModification) _addPotentialModification(source, type);
+  void recordDecoratedTypeAnnotation(Source source, TypeAnnotation node,
+      DecoratedType type, PotentiallyAddQuestionSuffix potentialModification) {
+    if (potentialModification != null)
+      _addPotentialModification(source, potentialModification);
     (_decoratedTypeAnnotations[source] ??=
         {})[_uniqueOffsetForTypeAnnotation(node)] = type;
   }
@@ -245,14 +245,18 @@
   /// class.
   Map<ClassElement, DecoratedType> _decorateDirectSupertypes(
       ClassElement class_) {
-    if (class_.type.isObject) {
-      // TODO(paulberry): this special case is just to get the basic
-      // infrastructure working (necessary since all classes derive from
-      // Object).  Once we have the full implementation this case shouldn't be
-      // needed.
-      return const {};
+    var result = <ClassElement, DecoratedType>{};
+    for (var supertype in class_.allSupertypes) {
+      var decoratedSupertype =
+          _alreadyMigratedCodeDecorator.decorate(supertype);
+      assert(identical(decoratedSupertype.node, _graph.never));
+      var class_ = (decoratedSupertype.type as InterfaceType).element;
+      if (class_ is ClassElementHandle) {
+        class_ = (class_ as ClassElementHandle).actualElement;
+      }
+      result[class_] = decoratedSupertype;
     }
-    throw UnimplementedError('TODO(paulberry)');
+    return result;
   }
 
   int _uniqueOffsetForTypeAnnotation(TypeAnnotation typeAnnotation) =>
diff --git a/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart b/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
index f55a4bd..d257f73 100644
--- a/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
+++ b/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
@@ -46,6 +46,13 @@
     expect(decoratedType.node, same(graph.never));
   }
 
+  void checkIterable(
+      DecoratedType decoratedType, void Function(DecoratedType) checkArgument) {
+    expect(decoratedType.type, typeProvider.iterableDynamicType);
+    expect(decoratedType.node, same(graph.never));
+    checkArgument(decoratedType.typeArguments[0]);
+  }
+
   void checkTypeParameter(
       DecoratedType decoratedType, TypeParameterElementImpl expectedElement) {
     var type = decoratedType.type as TypeParameterTypeImpl;
@@ -111,6 +118,11 @@
         nullabilitySuffix: NullabilitySuffix.star)));
   }
 
+  test_decorate_iterable_dynamic() {
+    var decorated = decorate(typeProvider.iterableDynamicType);
+    checkIterable(decorated, checkDynamic);
+  }
+
   test_decorate_typeParameterType_star() {
     var element = TypeParameterElementImpl.synthetic('T');
     checkTypeParameter(
diff --git a/pkg/nnbd_migration/test/api_test.dart b/pkg/nnbd_migration/test/api_test.dart
index 4035bae..c00be10 100644
--- a/pkg/nnbd_migration/test/api_test.dart
+++ b/pkg/nnbd_migration/test/api_test.dart
@@ -2,6 +2,7 @@
 // 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.
 
+import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer_plugin/protocol/protocol_common.dart';
 import 'package:nnbd_migration/nnbd_migration.dart';
@@ -1137,6 +1138,28 @@
     await _checkSingleFileChanges(content, expected);
   }
 
+  test_generic_exact_propagation_premigratedListClass() async {
+    var content = '''
+void f() {
+  List<int> x = new List<int>();
+  g(x);
+}
+void g(List<int> y) {
+  y.add(null);
+}
+''';
+    var expected = '''
+void f() {
+  List<int?> x = new List<int?>();
+  g(x);
+}
+void g(List<int?> y) {
+  y.add(null);
+}
+''';
+    await _checkSingleFileChanges(content, expected);
+  }
+
   test_generic_function_type_syntax_inferred_dynamic_return() async {
     var content = '''
 abstract class C {
@@ -2606,15 +2629,16 @@
   List<String> details = [];
 
   @override
-  void addDetail(String detail) {
-    details.add(detail);
-  }
-
-  @override
   void addEdit(SingleNullabilityFix fix, SourceEdit edit) {
     (_edits[fix.source] ??= []).add(edit);
   }
 
   @override
   void addFix(SingleNullabilityFix fix) {}
+
+  @override
+  void reportException(
+      Source source, AstNode node, Object exception, StackTrace stackTrace) {
+    fail('Exception reported: $exception');
+  }
 }
diff --git a/pkg/nnbd_migration/test/edge_builder_flow_analysis_test.dart b/pkg/nnbd_migration/test/edge_builder_flow_analysis_test.dart
index df1b6c6..07b8aeb 100644
--- a/pkg/nnbd_migration/test/edge_builder_flow_analysis_test.dart
+++ b/pkg/nnbd_migration/test/edge_builder_flow_analysis_test.dart
@@ -455,6 +455,76 @@
     // field doesn't cause flow analysis to crash.
   }
 
+  test_for_each_cancels_promotions_for_assignments_in_body() async {
+    await analyze('''
+void f(int i, int j, Iterable<Object> x) {
+  if (i == null) return;
+  if (j == null) return;
+  for (var v in x) {
+    i.isEven;
+    j.isEven;
+    j = null;
+  }
+}
+''');
+    var iNode = decoratedTypeAnnotation('int i').node;
+    var jNode = decoratedTypeAnnotation('int j').node;
+    // No edge from i to never because is is promoted.
+    assertNoEdge(iNode, never);
+    // But there is an edge from j to never because its promotion was cancelled.
+    assertEdge(jNode, never, hard: false);
+  }
+
+  test_for_each_collection_cancels_promotions_for_assignments_in_body() async {
+    await analyze('''
+void f(int i, int j, Iterable<Object> x) {
+  if (i == null) return;
+  if (j == null) return;
+  <Object>[for (var v in x) <Object>[i.isEven, j.isEven, (j = null)]];
+}
+''');
+    var iNode = decoratedTypeAnnotation('int i').node;
+    var jNode = decoratedTypeAnnotation('int j').node;
+    // No edge from i to never because is is promoted.
+    assertNoEdge(iNode, never);
+    // But there is an edge from j to never because its promotion was cancelled.
+    assertEdge(jNode, never, hard: false);
+  }
+
+  test_for_each_collection_preserves_promotions_for_assignments_in_iterable() async {
+    await analyze('''
+void f(int i, int j) {
+  if (i == null) return;
+  <Object>[for(var v in h(i.isEven && j.isEven && g(i = null))) null];
+}
+bool g(int k) => true;
+Iterable<Object> h(bool b) => <Object>[];
+''');
+    var iNode = decoratedTypeAnnotation('int i').node;
+    var jNode = decoratedTypeAnnotation('int j').node;
+    // No edge from i to never because it is promoted.
+    assertNoEdge(iNode, never);
+    // But there is an edge from j to never.
+    assertEdge(jNode, never, hard: false);
+  }
+
+  test_for_each_preserves_promotions_for_assignments_in_iterable() async {
+    await analyze('''
+void f(int i, int j) {
+  if (i == null) return;
+  for(var v in h(i.isEven && j.isEven && g(i = null))) {}
+}
+bool g(int k) => true;
+Iterable<Object> h(bool b) => <Object>[];
+''');
+    var iNode = decoratedTypeAnnotation('int i').node;
+    var jNode = decoratedTypeAnnotation('int j').node;
+    // No edge from i to never because it is promoted.
+    assertNoEdge(iNode, never);
+    // But there is an edge from j to never.
+    assertEdge(jNode, never, hard: false);
+  }
+
   test_functionDeclaration() async {
     await analyze('''
 void f(int i, int j) {
diff --git a/pkg/nnbd_migration/test/edge_builder_test.dart b/pkg/nnbd_migration/test/edge_builder_test.dart
index 81465ac..fa14641 100644
--- a/pkg/nnbd_migration/test/edge_builder_test.dart
+++ b/pkg/nnbd_migration/test/edge_builder_test.dart
@@ -410,6 +410,25 @@
         hard: false);
   }
 
+  test_assign_upcast_generic() async {
+    await analyze('''
+void f(Iterable<int> x) {}
+void g(List<int> x) {
+  f(x);
+}
+''');
+
+    var iterableInt = decoratedTypeAnnotation('Iterable<int>');
+    var listInt = decoratedTypeAnnotation('List<int>');
+    assertEdge(listInt.node, iterableInt.node, hard: true);
+    var substitution = graph
+        .getUpstreamEdges(iterableInt.typeArguments[0].node)
+        .single
+        .primarySource as NullabilityNodeForSubstitution;
+    expect(substitution.innerNode, same(listInt.typeArguments[0].node));
+    expect(substitution.outerNode, same(never));
+  }
+
   test_assignmentExpression_field() async {
     await analyze('''
 class C {
diff --git a/pkg/nnbd_migration/test/node_builder_test.dart b/pkg/nnbd_migration/test/node_builder_test.dart
index d8a78b0..70c0fdbb 100644
--- a/pkg/nnbd_migration/test/node_builder_test.dart
+++ b/pkg/nnbd_migration/test/node_builder_test.dart
@@ -2,6 +2,7 @@
 // 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.
 
+import 'package:analyzer/dart/element/type.dart';
 import 'package:nnbd_migration/src/decorated_type.dart';
 import 'package:nnbd_migration/src/nullability_node.dart';
 import 'package:test/test.dart';
@@ -625,6 +626,68 @@
         decoratedType.returnType.node, TypeMatcher<NullabilityNodeMutable>());
   }
 
+  test_functionExpression_returns_bottom() async {
+    await analyze('''
+void f() {
+  var x = (int i) => throw 'foo';
+}
+''');
+    var functionExpressionElement =
+        findNode.simpleParameter('int i').declaredElement.enclosingElement;
+    var decoratedType =
+        variables.decoratedElementType(functionExpressionElement);
+    expect(
+        decoratedType.returnType.node, TypeMatcher<NullabilityNodeMutable>());
+  }
+
+  test_functionTypeAlias_generic() async {
+    await analyze('''
+typedef T F<T, U>(U u);
+''');
+    var element = findElement.genericTypeAlias('F');
+    var decoratedType = variables.decoratedElementType(element);
+    var t = element.typeParameters[0];
+    var u = element.typeParameters[1];
+    // typeFormals should be empty because this is not a generic function type,
+    // it's a generic typedef that defines an ordinary (non-generic) function
+    // type.
+    expect(decoratedType.typeFormals, isEmpty);
+    expect(decoratedType.returnType, same(decoratedTypeAnnotation('T F')));
+    expect(
+        (decoratedType.returnType.type as TypeParameterType).element, same(t));
+    expect(
+        decoratedType.returnType.node, TypeMatcher<NullabilityNodeMutable>());
+    expect(
+        (decoratedType.positionalParameters[0].type as TypeParameterType)
+            .element,
+        same(u));
+    expect(decoratedType.positionalParameters[0].node,
+        TypeMatcher<NullabilityNodeMutable>());
+  }
+
+  test_functionTypeAlias_implicit_return_type() async {
+    await analyze('''
+typedef F();
+''');
+    var decoratedType =
+        variables.decoratedElementType(findElement.genericTypeAlias('F'));
+    expect(decoratedType.returnType.type.isDynamic, isTrue);
+    expect(decoratedType.returnType.node, same(always));
+    expect(decoratedType.typeFormals, isEmpty);
+  }
+
+  test_functionTypeAlias_simple() async {
+    await analyze('''
+typedef int F(String s);
+''');
+    var decoratedType =
+        variables.decoratedElementType(findElement.genericTypeAlias('F'));
+    expect(decoratedType.returnType, same(decoratedTypeAnnotation('int')));
+    expect(decoratedType.typeFormals, isEmpty);
+    expect(decoratedType.positionalParameters[0],
+        same(decoratedTypeAnnotation('String')));
+  }
+
   test_functionTypedFormalParameter_namedParameter_typed() async {
     await analyze('''
 void f(void g({int i})) {}
@@ -719,6 +782,34 @@
     expect(decoratedFReturnReturnType.node, same(always));
   }
 
+  test_genericFunctionType_formal_bounds() async {
+    await analyze('''
+void f(T Function<T extends num>() x) {}
+''');
+    var decoratedType = decoratedGenericFunctionTypeAnnotation('T Function');
+    expect(decoratedType.typeFormalBounds[0].type.toString(), 'num');
+  }
+
+  test_genericFunctionType_formals() async {
+    await analyze('''
+void f(T Function<T, U>(U) x) {}
+''');
+    var decoratedType = decoratedGenericFunctionTypeAnnotation('T Function');
+    expect(decoratedFunctionType('f').positionalParameters[0],
+        same(decoratedType));
+    expect(decoratedType.node, TypeMatcher<NullabilityNodeMutable>());
+    expect(decoratedType.type.toString(), 'T Function<T,U>(U)');
+    expect(decoratedType.typeFormals, hasLength(2));
+    var t = decoratedType.typeFormals[0];
+    var u = decoratedType.typeFormals[1];
+    expect(
+        (decoratedType.returnType.type as TypeParameterType).element, same(t));
+    expect(
+        (decoratedType.positionalParameters[0].type as TypeParameterType)
+            .element,
+        same(u));
+  }
+
   test_genericFunctionType_namedParameterType() async {
     await analyze('''
 void f(void Function({int y}) x) {}
@@ -764,6 +855,84 @@
     expect(decoratedIntType.node, isNot(never));
   }
 
+  test_genericTypeAlias_generic_inner() async {
+    await analyze('''
+typedef F = T Function<T, U>(U u);
+''');
+    var element = findElement.genericTypeAlias('F');
+    var decoratedType = variables.decoratedElementType(element);
+    expect(decoratedType,
+        same(decoratedGenericFunctionTypeAnnotation('T Function')));
+    expect(decoratedType.typeFormals, hasLength(2));
+    var t = decoratedType.typeFormals[0];
+    var u = decoratedType.typeFormals[1];
+    expect(decoratedType.returnType, same(decoratedTypeAnnotation('T F')));
+    expect(
+        (decoratedType.returnType.type as TypeParameterType).element, same(t));
+    expect(
+        decoratedType.returnType.node, TypeMatcher<NullabilityNodeMutable>());
+    expect(
+        (decoratedType.positionalParameters[0].type as TypeParameterType)
+            .element,
+        same(u));
+    expect(decoratedType.positionalParameters[0].node,
+        TypeMatcher<NullabilityNodeMutable>());
+  }
+
+  test_genericTypeAlias_generic_outer() async {
+    await analyze('''
+typedef F<T, U> = T Function(U u);
+''');
+    var element = findElement.genericTypeAlias('F');
+    var decoratedType = variables.decoratedElementType(element);
+    expect(decoratedType,
+        same(decoratedGenericFunctionTypeAnnotation('T Function')));
+    var t = element.typeParameters[0];
+    var u = element.typeParameters[1];
+    // typeFormals should be empty because this is not a generic function type,
+    // it's a generic typedef that defines an ordinary (non-generic) function
+    // type.
+    expect(decoratedType.typeFormals, isEmpty);
+    expect(decoratedType.returnType, same(decoratedTypeAnnotation('T F')));
+    expect(
+        (decoratedType.returnType.type as TypeParameterType).element, same(t));
+    expect(
+        decoratedType.returnType.node, TypeMatcher<NullabilityNodeMutable>());
+    expect(
+        (decoratedType.positionalParameters[0].type as TypeParameterType)
+            .element,
+        same(u));
+    expect(decoratedType.positionalParameters[0].node,
+        TypeMatcher<NullabilityNodeMutable>());
+  }
+
+  test_genericTypeAlias_implicit_return_type() async {
+    await analyze('''
+typedef F = Function();
+''');
+    var decoratedType =
+        variables.decoratedElementType(findElement.genericTypeAlias('F'));
+    expect(decoratedType,
+        same(decoratedGenericFunctionTypeAnnotation('Function')));
+    expect(decoratedType.returnType.type.isDynamic, isTrue);
+    expect(decoratedType.returnType.node, same(always));
+    expect(decoratedType.typeFormals, isEmpty);
+  }
+
+  test_genericTypeAlias_simple() async {
+    await analyze('''
+typedef F = int Function(String s);
+''');
+    var decoratedType =
+        variables.decoratedElementType(findElement.genericTypeAlias('F'));
+    expect(decoratedType,
+        same(decoratedGenericFunctionTypeAnnotation('int Function')));
+    expect(decoratedType.returnType, same(decoratedTypeAnnotation('int')));
+    expect(decoratedType.typeFormals, isEmpty);
+    expect(decoratedType.positionalParameters[0],
+        same(decoratedTypeAnnotation('String')));
+  }
+
   test_interfaceType_generic_instantiate_to_dynamic() async {
     await analyze('''
 void f(List x) {}
@@ -1041,6 +1210,42 @@
     expect(decoratedType.node, same(always));
   }
 
+  test_method_parameterType_inferred_generic_function_typed_no_bound() async {
+    await analyze('''
+class B {
+  void f/*B*/(T Function<T>() x) {}
+}
+class C extends B {
+  void f/*C*/(x) {}
+}
+''');
+    var decoratedBaseType =
+        decoratedMethodType('f/*B*/').positionalParameters[0];
+    var decoratedType = decoratedMethodType('f/*C*/').positionalParameters[0];
+    expect(decoratedType.typeFormalBounds, hasLength(1));
+    expect(decoratedType.typeFormalBounds[0].type.toString(), 'Object');
+    expect(decoratedType.typeFormalBounds[0].node,
+        isNot(same(decoratedBaseType.typeFormalBounds[0].node)));
+  }
+
+  test_method_parameterType_inferred_generic_function_typed_with_bound() async {
+    await analyze('''
+class B {
+  void f/*B*/(T Function<T extends num>() x) {}
+}
+class C extends B {
+  void f/*C*/(x) {}
+}
+''');
+    var decoratedBaseType =
+        decoratedMethodType('f/*B*/').positionalParameters[0];
+    var decoratedType = decoratedMethodType('f/*C*/').positionalParameters[0];
+    expect(decoratedType.typeFormalBounds, hasLength(1));
+    expect(decoratedType.typeFormalBounds[0].type.toString(), 'num');
+    expect(decoratedType.typeFormalBounds[0].node,
+        isNot(same(decoratedBaseType.typeFormalBounds[0].node)));
+  }
+
   test_method_parameterType_inferred_named() async {
     await analyze('''
 class B {
diff --git a/pkg/nnbd_migration/test/nullability_migration_impl_test.dart b/pkg/nnbd_migration/test/nullability_migration_impl_test.dart
index 1a00cf0..e145a95 100644
--- a/pkg/nnbd_migration/test/nullability_migration_impl_test.dart
+++ b/pkg/nnbd_migration/test/nullability_migration_impl_test.dart
@@ -50,7 +50,7 @@
     expect(fix.location.file, '/test.dart');
     expect(fix.location.startLine, 2);
     expect(fix.location.startColumn, 3);
-    verifyNever(listener.addDetail(any));
+    verifyNever(listener.reportException(any, any, any, any));
     final edit =
         verify(listener.addEdit(fix, captureAny)).captured.single as SourceEdit;
     expect(edit.offset, 10);
@@ -71,7 +71,7 @@
     NullabilityMigrationImpl.broadcast(variables, listener);
 
     verifyNever(listener.addFix(any));
-    verifyNever(listener.addDetail(any));
+    verifyNever(listener.reportException(any, any, any, any));
     verifyNever(listener.addEdit(any, any));
   }
 
@@ -83,7 +83,7 @@
     NullabilityMigrationImpl.broadcast(variables, listener);
 
     verifyNever(listener.addFix(any));
-    verifyNever(listener.addDetail(any));
+    verifyNever(listener.reportException(any, any, any, any));
     verifyNever(listener.addEdit(any, any));
   }
 }
diff --git a/pkg/nnbd_migration/tool/trial_migration.dart b/pkg/nnbd_migration/tool/trial_migration.dart
index e425e17..3bb8f85 100644
--- a/pkg/nnbd_migration/tool/trial_migration.dart
+++ b/pkg/nnbd_migration/tool/trial_migration.dart
@@ -11,6 +11,8 @@
 import 'dart:io';
 
 import 'package:analyzer/dart/analysis/analysis_context_collection.dart';
+import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer_plugin/protocol/protocol_common.dart';
 import 'package:nnbd_migration/nnbd_migration.dart';
 
@@ -69,6 +71,10 @@
   }
 }
 
+/// Set this to a non-null value to cause any exception to be printed in full
+/// if its category contains the string.
+const String categoryOfInterest = null;
+
 class _Listener implements NullabilityMigrationListener {
   final groupedExceptions = <String, List<String>>{};
 
@@ -85,17 +91,6 @@
   int numDeadCodeSegmentsFound = 0;
 
   @override
-  void addDetail(String detail) {
-    var breakLocation = detail.indexOf('\n\n');
-    if (breakLocation == -1)
-      throw StateError('Could not decode exception $detail');
-    var stackTrace = detail.substring(breakLocation + 2).split('\n');
-    var category = _classifyStackTrace(stackTrace);
-    (groupedExceptions[category] ??= []).add(detail);
-    ++numExceptions;
-  }
-
-  @override
   void addEdit(SingleNullabilityFix fix, SourceEdit edit) {
     if (edit.replacement == '?' && edit.length == 0) {
       ++numTypesMadeNullable;
@@ -122,6 +117,23 @@
   @override
   void addFix(SingleNullabilityFix fix) {}
 
+  @override
+  void reportException(
+      Source source, AstNode node, Object exception, StackTrace stackTrace) {
+    var category = _classifyStackTrace(stackTrace.toString().split('\n'));
+    String detail = '''
+In file $source
+While processing $node
+Exception $exception
+$stackTrace
+''';
+    if (categoryOfInterest != null && category.contains(categoryOfInterest)) {
+      print(detail);
+    }
+    (groupedExceptions[category] ??= []).add(detail);
+    ++numExceptions;
+  }
+
   String _classifyStackTrace(List<String> stackTrace) {
     for (var entry in stackTrace) {
       if (entry.contains('EdgeBuilder._unimplemented')) continue;
diff --git a/pkg/pkg.status b/pkg/pkg.status
index df75de5..cee0e7a 100644
--- a/pkg/pkg.status
+++ b/pkg/pkg.status
@@ -9,22 +9,22 @@
 */*/*/packages/*/*: Skip
 */*/packages/*/*: Skip
 */packages/*/*: Skip
-analyzer/test/generated/compile_time_error_code_driver_test: Slow, Pass
-analyzer/test/generated/compile_time_error_code_kernel_test: Slow, Pass
-analyzer/test/generated/compile_time_error_code_test: Slow, Pass
-analyzer/test/generated/hint_code_kernel_test: Slow, Pass
-analyzer/test/generated/non_error_resolver_driver_test: Slow, Pass
-analyzer/test/generated/non_error_resolver_kernel_test: Slow, Pass
-analyzer/test/generated/non_hint_code_kernel_test: Slow, Pass
-analyzer/test/generated/static_type_warning_code_kernel_test: Slow, Pass
-analyzer/test/generated/static_warning_code_driver_test: Slow, Pass
-analyzer/test/generated/static_warning_code_kernel_test: Slow, Pass
-analyzer/test/generated/strong_mode_kernel_test: Slow, Pass
-analyzer/test/src/dart/analysis/driver_kernel_test: Slow, Pass
-analyzer/test/src/summary/resynthesize_kernel_test: Slow, Pass
-analyzer/test/src/task/strong/checker_test: Slow, Pass
-analyzer_plugin/test/plugin/folding_mixin_test: Slow, Pass
-dev_compiler/test/modular/*: Slow, Pass
+analyzer/test/generated/compile_time_error_code_driver_test: Slow
+analyzer/test/generated/compile_time_error_code_kernel_test: Slow
+analyzer/test/generated/compile_time_error_code_test: Slow
+analyzer/test/generated/hint_code_kernel_test: Slow
+analyzer/test/generated/non_error_resolver_driver_test: Slow
+analyzer/test/generated/non_error_resolver_kernel_test: Slow
+analyzer/test/generated/non_hint_code_kernel_test: Slow
+analyzer/test/generated/static_type_warning_code_kernel_test: Slow
+analyzer/test/generated/static_warning_code_driver_test: Slow
+analyzer/test/generated/static_warning_code_kernel_test: Slow
+analyzer/test/generated/strong_mode_kernel_test: Slow
+analyzer/test/src/dart/analysis/driver_kernel_test: Slow
+analyzer/test/src/summary/resynthesize_kernel_test: Slow
+analyzer/test/src/task/strong/checker_test: Slow
+analyzer_plugin/test/plugin/folding_mixin_test: Slow
+dev_compiler/test/modular/*: Slow
 dev_compiler/test/options/*: Skip # test needs fixes
 dev_compiler/test/sourcemap/*: SkipByDesign # Skip sourcemap tests
 dev_compiler/test/sourcemap/testfiles/*: SkipByDesign # Skip dev_compiler codegen tests
@@ -49,8 +49,8 @@
 front_end/tool/incremental_perf_test: Slow, Pass
 kernel/test/closures_test: Slow, Pass
 kernel/testcases/*: Skip # These are not tests but input for tests.
-vm/test/frontend_server_test: Slow, Pass
-vm/test/transformations/type_flow/transformer_test: Slow, Pass
+vm/test/frontend_server_test: Slow
+vm/test/transformations/type_flow/transformer_test: Slow
 vm/testcases/*: SkipByDesign # These are not tests but input for tests.
 
 [ $compiler == dart2analyzer ]
@@ -58,7 +58,7 @@
 testing/test/dart_sdk_negative_test: SkipByDesign
 
 [ $compiler != dart2analyzer ]
-analyzer/test/src/summary/summarize_fasta_test: RuntimeError, Slow
+analyzer/test/src/summary/summarize_fasta_test: Slow
 
 [ $compiler == dart2js ]
 analysis_server/test/integration: SkipByDesign # Analysis server integration tests don't make sense to run under dart2js, since the code under test always runs in the Dart vm as a subprocess.
@@ -88,9 +88,6 @@
 testing/*: SkipByDesign # Only meant to run on vm
 typed_data/test/typed_buffers_test/01: Fail # Not supporting Int64List, Uint64List.
 
-[ $compiler == none ]
-kernel/test/closures_test: Fail
-
 [ $runtime == dart_precompiled ]
 *: SkipByDesign # The pkg test framework imports dart:mirrors.
 
@@ -100,33 +97,33 @@
 kernel/test/*: RuntimeError, OK # Issue 26103. Timers are not supported.
 
 [ $runtime == vm ]
-analysis_server/test/benchmarks_test: Pass, Slow
-analysis_server/test/domain_completion_test: Pass, Slow
-analysis_server/test/edit/refactoring_test: Pass, Slow
-analysis_server/test/integration/*: Pass, Slow
+analysis_server/test/benchmarks_test: Slow
+analysis_server/test/domain_completion_test: Slow
+analysis_server/test/edit/refactoring_test: Slow
+analysis_server/test/integration/*: Slow
 analysis_server/test/integration/analysis/package_root_test: Pass, RuntimeError # Issue 33382
 analysis_server/test/integration/search/find_top_level_declarations_test: Pass, RuntimeError # 31571
-analysis_server/test/services/completion/dart/imported_reference_contributor_test: Pass, Slow
-analysis_server/test/services/completion/dart/keyword_contributor_test: Pass, Slow
-analysis_server/test/services/completion/dart/local_constructor_contributor_test: Pass, Slow
-analysis_server/test/services/completion/dart/local_reference_contributor_test: Pass, Slow
-analysis_server/test/services/completion/dart/type_member_contributor_test: Pass, Slow
-analysis_server/test/services/correction/assist_test: Pass, Slow
-analysis_server/test/services/refactoring/extract_method_test: Pass, Slow
-analysis_server/test/services/refactoring/inline_method_test: Pass, Slow
+analysis_server/test/services/completion/dart/imported_reference_contributor_test: Slow
+analysis_server/test/services/completion/dart/keyword_contributor_test: Slow
+analysis_server/test/services/completion/dart/local_constructor_contributor_test: Slow
+analysis_server/test/services/completion/dart/local_reference_contributor_test: Slow
+analysis_server/test/services/completion/dart/type_member_contributor_test: Slow
+analysis_server/test/services/correction/assist_test: Slow
+analysis_server/test/services/refactoring/extract_method_test: Slow
+analysis_server/test/services/refactoring/inline_method_test: Slow
 analysis_server/test/socket_server_test: Skip # Pass, Slow
-analysis_server/test/src/plugin/plugin_manager_test: Pass, Slow
+analysis_server/test/src/plugin/plugin_manager_test: Slow
 analyzer/test/file_system/physical_resource_provider_watch_test: Pass, Fail # Issue 25472
-analyzer/test/generated/hint_code_driver_test: Pass, Slow
-analyzer/test/generated/non_error_resolver_kernel_test: Pass, Slow
-analyzer/test/generated/strong_mode_driver_test: Pass, Slow
-analyzer/test/src/dart/analysis/driver_resolution_kernel_test: Pass, Slow
-analyzer/test/src/dart/analysis/driver_test: Pass, Slow
-analyzer/test/src/summary/resynthesize_ast_test: Pass, Slow
-analyzer/test/src/task/strong/front_end_inference_test: Pass, Slow
-analyzer/test/src/task/strong/inferred_type_test: Pass, Slow
-analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test: Pass, Slow
-analyzer_plugin/test/src/utilities/completion/optype_test: Pass, Slow
+analyzer/test/generated/hint_code_driver_test: Slow
+analyzer/test/generated/non_error_resolver_kernel_test: Slow
+analyzer/test/generated/strong_mode_driver_test: Slow
+analyzer/test/src/dart/analysis/driver_resolution_kernel_test: Slow
+analyzer/test/src/dart/analysis/driver_test: Slow
+analyzer/test/src/summary/resynthesize_ast_test: Slow
+analyzer/test/src/task/strong/front_end_inference_test: Slow
+analyzer/test/src/task/strong/inferred_type_test: Slow
+analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test: Slow
+analyzer_plugin/test/src/utilities/completion/optype_test: Slow
 dartfix/test/src/driver_test: RuntimeError # dartbug.com/35478
 mutation_observer: Skip # Skip tests on the VM if the package depends on dart:html
 
@@ -172,7 +169,7 @@
 smith/test/*: Skip # Uses optional new.
 
 [ $arch == x64 && $runtime == vm && $system == windows && $checked ]
-analyzer/test/src/task/strong/inferred_type_test: Pass, Slow
+analyzer/test/src/task/strong/inferred_type_test: Slow
 
 [ $builder_tag != dart2js_analyzer && $compiler == dart2js ]
 analysis_server/test/*: Skip # Issue 26813
@@ -197,11 +194,11 @@
 front_end/test/mixin_export_test: RuntimeError # Issue 30576
 
 [ $compiler == dart2js && $browser ]
-crypto/test/sha1_test: Slow, Pass
-crypto/test/sha256_test: Slow, Pass
+crypto/test/sha1_test: Slow
+crypto/test/sha256_test: Slow
 
 [ $compiler == dart2js && $checked ]
-crypto/test/base64_test: Slow, Pass
+crypto/test/base64_test: Slow
 
 [ $compiler == dart2js && $csp ]
 mutation_observer: Skip # This test cannot run under CSP because it is injecting a JavaScript polyfill
@@ -215,23 +212,20 @@
 analysis_server/test/benchmarks_test: RuntimeError # Issue 32355
 analysis_server/test/src/plugin/plugin_manager_test: Pass, Slow, RuntimeError # Issue 34231
 analyzer/test/generated/non_error_resolver_kernel_test: RuntimeError # Issue 30785
-analyzer/test/src/task/strong/checker_test: Pass, Slow
-analyzer/tool/task_dependency_graph/check_test: Slow, Pass
+analyzer/test/src/task/strong/checker_test: Slow
+analyzer/tool/task_dependency_graph/check_test: Slow
 
 [ $runtime == vm && $system == windows && $checked ]
 front_end/tool/perf_test: Slow, Pass
 
 [ $runtime == vm && $checked ]
-analysis_server/test/completion_test: Pass, Slow
-analysis_server/test/integration/edit/sort_members_test: Pass, Slow
-analysis_server/test/services/correction/fix_test: Pass, Slow
+analysis_server/test/completion_test: Slow
+analysis_server/test/integration/edit/sort_members_test: Slow
+analysis_server/test/services/correction/fix_test: Slow
 analysis_server/test/socket_server_test: Skip # Pass, Slow
-analyzer/test/generated/non_error_resolver_kernel_test: Pass, Slow
-analyzer/test/src/summary/resynthesize_ast_test: Pass, Slow
-analyzer/test/src/task/strong/front_end_inference_test: Pass, Slow
-
-[ $runtime == vm && !$preview_dart_2 ]
-analysis_server/test/services/correction/assist_test: RuntimeError
+analyzer/test/generated/non_error_resolver_kernel_test: Slow
+analyzer/test/src/summary/resynthesize_ast_test: Slow
+analyzer/test/src/task/strong/front_end_inference_test: Slow
 
 # Timeout. These tests do not run efficiently on our simulator or low-end
 # devices.
diff --git a/pkg/test_runner/lib/src/command_output.dart b/pkg/test_runner/lib/src/command_output.dart
index f02ba26..9e6d963 100644
--- a/pkg/test_runner/lib/src/command_output.dart
+++ b/pkg/test_runner/lib/src/command_output.dart
@@ -1225,52 +1225,18 @@
   Expectation _validateExpectedErrors(TestCase testCase,
       [OutputWriter writer]) {
     // Filter out errors that aren't for this configuration.
-    var expected = testCase.testFile.expectedErrors
-        .where((error) =>
-            testCase.configuration.compiler == Compiler.dart2analyzer
-                ? error.isAnalyzer
-                : error.isCfe)
-        .toList();
-    var actual = errors.toList();
+    var expected = testCase.testFile.expectedErrors.where((error) =>
+        testCase.configuration.compiler == Compiler.dart2analyzer
+            ? error.isAnalyzer
+            : error.isCfe);
 
-    // Don't require the test or analyzer to output in any specific order.
-    expected.sort();
-    actual.sort();
+    var validation = StaticError.validateExpectations(expected, errors);
+    if (validation == null) return Expectation.pass;
 
-    writer?.subsection("incorrect static errors");
+    writer?.subsection("static error failures");
+    writer?.write(validation);
 
-    var success = expected.length == actual.length;
-    for (var i = 0; i < expected.length && i < actual.length; i++) {
-      var differences = expected[i].describeDifferences(actual[i]);
-      if (differences == null) continue;
-
-      if (writer != null) {
-        writer.write(actual[i].location);
-        for (var difference in differences) {
-          writer.write("- $difference");
-        }
-        writer.separator();
-      }
-
-      success = false;
-    }
-
-    if (writer != null) {
-      writer.subsection("missing expected static errors");
-      for (var i = actual.length; i < expected.length; i++) {
-        writer.write(expected[i].toString());
-        writer.separator();
-      }
-
-      writer.subsection("reported unexpected static errors");
-      for (var i = expected.length; i < actual.length; i++) {
-        writer.write(actual[i].toString());
-        writer.separator();
-      }
-    }
-
-    // TODO(rnystrom): Is there a better expectation we can use?
-    return success ? Expectation.pass : Expectation.missingCompileTimeError;
+    return Expectation.missingCompileTimeError;
   }
 }
 
diff --git a/pkg/test_runner/lib/src/test_file.dart b/pkg/test_runner/lib/src/test_file.dart
index 9d2b56d..d60e708 100644
--- a/pkg/test_runner/lib/src/test_file.dart
+++ b/pkg/test_runner/lib/src/test_file.dart
@@ -107,6 +107,90 @@
     return result;
   }
 
+  /// Determines whether all [actualErrors] match the given [expectedErrors].
+  ///
+  /// If they match, returns `null`. Otherwise returns a string describing the
+  /// mismatches. This for a human-friendly explanation of the difference
+  /// between the two sets of errors, while also being simple to implement.
+  /// An expected error that is completely identical to an actual error is
+  /// treated as a match. Everything else is a failure.
+  ///
+  /// It treats line number as the "identity" of an error. So if there are two
+  /// errors on the same line that differ in other properties, it reports that
+  /// as a "wrong" error. Any expected error on a line containing no actual
+  /// error is reported as a "missing" error. Conversely, an actual error on a
+  /// line containing no expected error is an "unexpected" error.
+  ///
+  /// By not treating the error's index in the list to be its identity, we
+  /// gracefully handle extra or missing errors without causing cascading
+  /// failures for later errors in the lists.
+  static String validateExpectations(Iterable<StaticError> expectedErrors,
+      Iterable<StaticError> actualErrors) {
+    // Don't require the test or front end to output in any specific order.
+    var sortedExpected = expectedErrors.toList();
+    var sortedActual = actualErrors.toList();
+    sortedExpected.sort();
+    sortedActual.sort();
+
+    var buffer = StringBuffer();
+
+    describeError(String adjective, StaticError error, String verb) {
+      buffer.writeln("$adjective static error at ${error.location}:");
+      if (error.code != null) {
+        buffer.writeln("- $verb error code ${error.code}.");
+      }
+
+      if (error.message != null) {
+        buffer.writeln("- $verb error message '${error.message}'.");
+      }
+      buffer.writeln();
+    }
+
+    var expectedIndex = 0;
+    var actualIndex = 0;
+    for (;
+        expectedIndex < sortedExpected.length &&
+            actualIndex < sortedActual.length;) {
+      var expected = sortedExpected[expectedIndex];
+      var actual = sortedActual[actualIndex];
+      var differences = expected.describeDifferences(actual);
+      if (differences == null) {
+        expectedIndex++;
+        actualIndex++;
+        continue;
+      }
+
+      if (expected.line == actual.line) {
+        buffer.writeln("Wrong static error at ${expected.location}:");
+        for (var difference in differences) {
+          buffer.writeln("- $difference");
+        }
+        buffer.writeln();
+        expectedIndex++;
+        actualIndex++;
+      } else if (expected.line < actual.line) {
+        describeError("Missing", expected, "Expected");
+        expectedIndex++;
+      } else {
+        describeError("Unexpected", actual, "Had");
+        actualIndex++;
+      }
+    }
+
+    // Output any trailing expected or actual errors if the lengths of the
+    // lists differ.
+    for (; expectedIndex < sortedExpected.length; expectedIndex++) {
+      describeError("Missing", sortedExpected[expectedIndex], "Expected");
+    }
+
+    for (; actualIndex < sortedActual.length; actualIndex++) {
+      describeError("Unexpected", sortedActual[actualIndex], "Had");
+    }
+
+    if (buffer.isEmpty) return null;
+    return buffer.toString().trimRight();
+  }
+
   /// The one-based line number of the beginning of the error's location.
   final int line;
 
@@ -171,13 +255,13 @@
 
   /// A textual description of this error's location.
   String get location {
-    var result = "Error at line $line, column $column";
+    var result = "line $line, column $column";
     if (length != null) result += ", length $length";
     return result;
   }
 
   String toString() {
-    var result = location;
+    var result = "Error at $location";
     if (code != null) result += "\n$code";
     if (message != null) result += "\n$message";
     return result;
diff --git a/pkg/test_runner/test/static_error_test.dart b/pkg/test_runner/test/static_error_test.dart
index 460dab9..f607ee9 100644
--- a/pkg/test_runner/test/static_error_test.dart
+++ b/pkg/test_runner/test/static_error_test.dart
@@ -11,6 +11,7 @@
   testCompareTo();
   testDescribeDifferences();
   testSimplify();
+  testValidate();
 }
 
 void testFlags() {
@@ -401,6 +402,118 @@
   ]);
 }
 
+void testValidate() {
+  // No errors.
+  expectValidate([], [], null);
+
+  // Same errors.
+  expectValidate([
+    StaticError(line: 1, column: 2, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.B", message: "Two."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.C", message: "Tres."),
+  ], [
+    // Order doesn't matter.
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.C", message: "Tres."),
+    StaticError(line: 1, column: 2, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.B", message: "Two."),
+  ], null);
+
+  // Ignore fields that aren't in actual errors.
+  expectValidate([
+    StaticError(line: 1, column: 2, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.B", message: "Two."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.C", message: "Tres."),
+  ], [
+    StaticError(line: 1, column: 2, code: "ERR.A", message: "One."),
+    StaticError(line: 2, column: 2, length: 3, message: "Two."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.C"),
+  ], null);
+
+  // Catches differences in any field.
+  expectValidate([
+    StaticError(line: 1, column: 2, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.B", message: "Two."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.C", message: "Tres."),
+    StaticError(line: 4, column: 2, length: 3, code: "ERR.D", message: "Four."),
+  ], [
+    StaticError(line: 1, column: 9, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 2, column: 2, length: 9, code: "ERR.B", message: "Two."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.Z", message: "Tres."),
+    StaticError(line: 4, column: 2, length: 3, code: "ERR.D", message: "Zzz."),
+  ], """
+Wrong static error at line 1, column 2, length 3:
+- Expected on column 2 but was on 9.
+
+Wrong static error at line 2, column 2, length 3:
+- Expected length 3 but was 9.
+
+Wrong static error at line 3, column 2, length 3:
+- Expected error code ERR.C but was ERR.Z.
+
+Wrong static error at line 4, column 2, length 3:
+- Expected error message 'Four.' but was 'Zzz.'.""");
+
+  // Unexpected errors.
+  expectValidate([
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 4, column: 2, length: 3, code: "ERR.B", message: "Two."),
+    StaticError(line: 6, column: 2, length: 3, code: "ERR.C", message: "Tres."),
+  ], [
+    StaticError(line: 1, column: 2, length: 3, code: "ERR.W", message: "1."),
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.A", message: "One."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.X", message: "3."),
+    StaticError(line: 4, column: 2, length: 3, code: "ERR.B", message: "Two."),
+    StaticError(line: 5, column: 2, length: 3, code: "ERR.Y", message: "5."),
+    StaticError(line: 6, column: 2, length: 3, code: "ERR.C", message: "Tres."),
+    StaticError(line: 7, column: 2, length: 3, code: "ERR.Z", message: "7."),
+  ], """
+Unexpected static error at line 1, column 2, length 3:
+- Had error code ERR.W.
+- Had error message '1.'.
+
+Unexpected static error at line 3, column 2, length 3:
+- Had error code ERR.X.
+- Had error message '3.'.
+
+Unexpected static error at line 5, column 2, length 3:
+- Had error code ERR.Y.
+- Had error message '5.'.
+
+Unexpected static error at line 7, column 2, length 3:
+- Had error code ERR.Z.
+- Had error message '7.'.""");
+
+  // Missing errors.
+  expectValidate([
+    StaticError(line: 1, column: 2, length: 3, code: "ERR.A", message: "1."),
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.B", message: "2."),
+    StaticError(line: 3, column: 2, length: 3, code: "ERR.C", message: "3."),
+    StaticError(line: 4, column: 2, length: 3, code: "ERR.D", message: "4."),
+    StaticError(line: 5, column: 2, length: 3, code: "ERR.E", message: "5."),
+    StaticError(line: 6, column: 2, length: 3, code: "ERR.F", message: "6."),
+    StaticError(line: 7, column: 2, length: 3, code: "ERR.G", message: "7."),
+  ], [
+    StaticError(line: 2, column: 2, length: 3, code: "ERR.B", message: "2."),
+    StaticError(line: 4, column: 2, length: 3, code: "ERR.D", message: "4."),
+    StaticError(line: 6, column: 2, length: 3, code: "ERR.F", message: "6."),
+  ], """
+Missing static error at line 1, column 2, length 3:
+- Expected error code ERR.A.
+- Expected error message '1.'.
+
+Missing static error at line 3, column 2, length 3:
+- Expected error code ERR.C.
+- Expected error message '3.'.
+
+Missing static error at line 5, column 2, length 3:
+- Expected error code ERR.E.
+- Expected error message '5.'.
+
+Missing static error at line 7, column 2, length 3:
+- Expected error code ERR.G.
+- Expected error message '7.'.""");
+}
+
 void expectNoDifferences(StaticError expectedError, StaticError actualError) {
   var actualLines = expectedError.describeDifferences(actualError);
   if (actualLines != null) {
@@ -427,3 +540,9 @@
   Expect.listEquals(expected.map((error) => error.toString()).toList(),
       actual.map((error) => error.toString()).toList());
 }
+
+void expectValidate(List<StaticError> expected, List<StaticError> actual,
+    String expectedValidation) {
+  var actualValidation = StaticError.validateExpectations(expected, actual);
+  Expect.stringEquals(expectedValidation, actualValidation);
+}
diff --git a/pkg/vm/bin/kernel_service.dart b/pkg/vm/bin/kernel_service.dart
index 2b0f824..6c72584 100644
--- a/pkg/vm/bin/kernel_service.dart
+++ b/pkg/vm/bin/kernel_service.dart
@@ -82,6 +82,11 @@
   final bool bytecode;
   final String packageConfig;
 
+  // Code coverage and hot reload are only supported by incremental compiler,
+  // which is used if vm-service is enabled.
+  final bool supportCodeCoverage;
+  final bool supportHotReload;
+
   final List<String> errors = new List<String>();
 
   CompilerOptions options;
@@ -91,6 +96,8 @@
       this.enableAsserts: false,
       this.experimentalFlags: null,
       this.bytecode: false,
+      this.supportCodeCoverage: false,
+      this.supportHotReload: false,
       this.packageConfig: null}) {
     Uri packagesUri = null;
     if (packageConfig != null) {
@@ -157,27 +164,31 @@
 
       if (options.bytecode && errors.isEmpty) {
         await runWithFrontEndCompilerContext(script, options, component, () {
-          // TODO(alexmarkov): disable source positions, local variables info,
+          // TODO(alexmarkov): disable local variables info,
           //  debugger stops and source files in VM PRODUCT mode.
           // TODO(rmacnak): disable annotations if mirrors are not enabled.
           generateBytecode(component,
               coreTypes: compilerResult.coreTypes,
               hierarchy: compilerResult.classHierarchy,
               options: new BytecodeOptions(
-                  enableAsserts: enableAsserts,
-                  environmentDefines: options.environmentDefines,
-                  // Needed both for stack traces and the debugger.
-                  emitSourcePositions: true,
-                  // Only needed when the debugger is available.
-                  emitLocalVarInfo: true,
-                  // Only needed when the debugger is available.
-                  emitDebuggerStops: true,
-                  // Only needed when the VM service is available.
-                  emitSourceFiles: true,
-                  // Only needed when reload is available.
-                  emitInstanceFieldInitializers: true,
-                  // Only needed when mirrors are available.
-                  emitAnnotations: true));
+                enableAsserts: enableAsserts,
+                environmentDefines: options.environmentDefines,
+                // Needed both for stack traces and the debugger.
+                emitSourcePositions: true,
+                // Only needed when the debugger is available.
+                emitLocalVarInfo: true,
+                // Only needed when the debugger is available.
+                emitDebuggerStops: true,
+                // Only needed when the VM service is available.
+                emitSourceFiles: true,
+                // Only needed when reload is available.
+                emitInstanceFieldInitializers: supportHotReload,
+                // Only needed when mirrors are available.
+                emitAnnotations: true,
+                // Only needed when observatory (source report) is available.
+                keepUnreachableCode: supportCodeCoverage,
+                avoidClosureCallInstructions: supportCodeCoverage,
+              ));
           component = createFreshComponentWithBytecode(component);
         });
       }
@@ -250,6 +261,8 @@
             enableAsserts: enableAsserts,
             experimentalFlags: experimentalFlags,
             bytecode: bytecode,
+            supportHotReload: true,
+            supportCodeCoverage: true,
             packageConfig: packageConfig);
 
   @override
diff --git a/pkg/vm/lib/bytecode/declarations.dart b/pkg/vm/lib/bytecode/declarations.dart
index 37d71ba..e3d72a2 100644
--- a/pkg/vm/lib/bytecode/declarations.dart
+++ b/pkg/vm/lib/bytecode/declarations.dart
@@ -220,22 +220,20 @@
   static const hasLineStartsFlag = 1 << 0;
   static const hasSourceFlag = 1 << 1;
 
-  int flags;
   final ObjectHandle importUri;
-  final LineStarts lineStarts;
-  final String source;
+  LineStarts lineStarts;
+  String source;
 
-  SourceFile(this.importUri, this.lineStarts, this.source) {
-    flags = 0;
+  SourceFile(this.importUri, [this.lineStarts, this.source]);
+
+  void write(BufferedWriter writer) {
+    int flags = 0;
     if (lineStarts != null) {
       flags |= hasLineStartsFlag;
     }
     if (source != null && source != '') {
       flags |= hasSourceFlag;
     }
-  }
-
-  void write(BufferedWriter writer) {
     writer.writePackedUInt30(flags);
     writer.writePackedObject(importUri);
     if ((flags & hasLineStartsFlag) != 0) {
@@ -261,11 +259,13 @@
   @override
   String toString() {
     final StringBuffer sb = new StringBuffer();
-    sb.writeln('SourceFile $importUri');
-    sb.writeln('------------------------------------------------');
-    sb.write(source);
-    sb.writeln('------------------------------------------------');
-    sb.writeln(lineStarts);
+    sb.write('source: import-uri $importUri');
+    if (source != null && source != '') {
+      sb.write(', ${source.length} text chars');
+    }
+    if (lineStarts != null) {
+      sb.write(', ${lineStarts.lineStarts.length} line starts');
+    }
     return sb.toString();
   }
 }
diff --git a/pkg/vm/lib/bytecode/gen_bytecode.dart b/pkg/vm/lib/bytecode/gen_bytecode.dart
index 4bc67f7..5c7b744 100644
--- a/pkg/vm/lib/bytecode/gen_bytecode.dart
+++ b/pkg/vm/lib/bytecode/gen_bytecode.dart
@@ -211,30 +211,33 @@
     return members;
   }
 
-  ObjectHandle getScript(Uri uri, bool includeSource) {
+  ObjectHandle getScript(Uri uri, bool includeSourceInfo) {
     SourceFile source;
-    if (includeSource &&
-        (options.emitSourceFiles || options.emitSourcePositions)) {
-      source = bytecodeComponent.uriToSource[uri];
-      if (source == null) {
-        final astSource = astUriToSource[uri];
-        if (astSource != null) {
+    if (options.emitSourceFiles || options.emitSourcePositions) {
+      final astSource = astUriToSource[uri];
+      if (astSource != null) {
+        source = bytecodeComponent.uriToSource[uri];
+        if (source == null) {
           final importUri =
               objectTable.getNameHandle(null, astSource.importUri.toString());
-          LineStarts lineStarts;
-          if (options.emitSourcePositions) {
-            lineStarts = new LineStarts(astSource.lineStarts);
-            bytecodeComponent.lineStarts.add(lineStarts);
-          }
-          String text = '';
-          if (options.emitSourceFiles) {
-            text = astSource.cachedText ??
-                utf8.decode(astSource.source, allowMalformed: true);
-          }
-          source = new SourceFile(importUri, lineStarts, text);
+          source = new SourceFile(importUri);
           bytecodeComponent.sourceFiles.add(source);
           bytecodeComponent.uriToSource[uri] = source;
         }
+        if (options.emitSourcePositions &&
+            includeSourceInfo &&
+            source.lineStarts == null) {
+          LineStarts lineStarts = new LineStarts(astSource.lineStarts);
+          bytecodeComponent.lineStarts.add(lineStarts);
+          source.lineStarts = lineStarts;
+        }
+        if (options.emitSourceFiles &&
+            includeSourceInfo &&
+            source.source == null) {
+          String text = astSource.cachedText ??
+              utf8.decode(astSource.source, allowMalformed: true);
+          source.source = text;
+        }
       }
     }
     return objectTable.getScriptHandle(uri, source);
@@ -777,6 +780,16 @@
       return false;
     }
     if (member is Field) {
+      // TODO(dartbug.com/34277)
+      // Front-end inserts synthetic static fields "_redirecting#" to record
+      // information about redirecting constructors in kernel.
+      // The problem is that initializers of these synthetic static fields
+      // contain incorrect kernel AST, e.g. StaticGet which takes tear-off
+      // of a constructor. Do not generate bytecode for them, as they should
+      // never be used.
+      if (member.isStatic && member.name.name == "_redirecting#") {
+        return false;
+      }
       return hasInitializerCode(member);
     }
     return true;
@@ -1277,6 +1290,9 @@
   /// Returns value of the given expression if it is a bool constant.
   /// Otherwise, returns `null`.
   bool _constantConditionValue(Expression condition) {
+    if (options.keepUnreachableCode) {
+      return null;
+    }
     // TODO(dartbug.com/34585): use constant evaluator to evaluate
     // expressions in a non-constant context.
     if (condition is Not) {
@@ -1696,6 +1712,9 @@
       for (var v in locals.sortedNamedParameters) {
         _declareLocalVariable(v, function.fileOffset);
       }
+      if (locals.hasFunctionTypeArgsVar) {
+        _declareLocalVariable(locals.functionTypeArgsVar, function.fileOffset);
+      }
     }
 
     if (locals.hasCapturedParameters) {
@@ -2897,7 +2916,7 @@
     }
     // Front-end guarantees that all calls with known function type
     // do not need any argument type checks.
-    if (isUncheckedClosureCall(node, typeEnvironment)) {
+    if (isUncheckedClosureCall(node, typeEnvironment, options)) {
       final int receiverTemp = locals.tempIndexInFrame(node);
       _genArguments(node.receiver, args, storeReceiverToLocal: receiverTemp);
       // Duplicate receiver (closure) for UncheckedClosureCall.
@@ -3083,6 +3102,8 @@
     } else if (target is Procedure) {
       if (target.isGetter) {
         _genDirectCall(target, objectTable.getArgDescHandle(0), 0, isGet: true);
+      } else if (target.isFactory || target.isRedirectingFactoryConstructor) {
+        throw 'Unexpected target for StaticGet: factory $target';
       } else {
         asm.emitPushConstant(cp.addObjectRef(new TearOffConstant(target)));
       }
@@ -3500,6 +3521,9 @@
 
   @override
   visitFunctionDeclaration(ast.FunctionDeclaration node) {
+    if (options.emitDebuggerStops) {
+      asm.emitDebugCheck();
+    }
     _genPushContextIfCaptured(node.variable);
     _genClosure(node, node.variable.name, node.function);
     _genStoreVar(node.variable);
diff --git a/pkg/vm/lib/bytecode/generics.dart b/pkg/vm/lib/bytecode/generics.dart
index c24f494..4d3607d 100644
--- a/pkg/vm/lib/bytecode/generics.dart
+++ b/pkg/vm/lib/bytecode/generics.dart
@@ -11,6 +11,8 @@
 import 'package:kernel/type_algebra.dart' show Substitution;
 import 'package:kernel/type_environment.dart' show TypeEnvironment;
 
+import 'options.dart' show BytecodeOptions;
+
 bool hasInstantiatorTypeArguments(Class c) {
   for (; c != null; c = c.superclass) {
     if (c.typeParameters.isNotEmpty) {
@@ -279,7 +281,8 @@
 
 /// Returns true if invocation [node] is a closure call with statically known
 /// function type. Such invocations can omit argument type checks.
-bool isUncheckedClosureCall(
-        MethodInvocation node, TypeEnvironment typeEnvironment) =>
+bool isUncheckedClosureCall(MethodInvocation node,
+        TypeEnvironment typeEnvironment, BytecodeOptions options) =>
     node.name.name == 'call' &&
-    getStaticType(node.receiver, typeEnvironment) is FunctionType;
+    getStaticType(node.receiver, typeEnvironment) is FunctionType &&
+    !options.avoidClosureCallInstructions;
diff --git a/pkg/vm/lib/bytecode/local_vars.dart b/pkg/vm/lib/bytecode/local_vars.dart
index d75f4a0..d2d32f0 100644
--- a/pkg/vm/lib/bytecode/local_vars.dart
+++ b/pkg/vm/lib/bytecode/local_vars.dart
@@ -104,9 +104,12 @@
   int get returnVarIndexInFrame => getVarIndexInFrame(_currentFrame.returnVar ??
       (throw 'Return variable is not declared in ${_currentFrame.function}'));
 
-  int get functionTypeArgsVarIndexInFrame => getVarIndexInFrame(_currentFrame
-          .functionTypeArgsVar ??
-      (throw 'FunctionTypeArgs variable is not declared in ${_currentFrame.function}'));
+  VariableDeclaration get functionTypeArgsVar =>
+      _currentFrame.functionTypeArgsVar ??
+      (throw 'FunctionTypeArgs variable is not declared in ${_currentFrame.function}');
+
+  int get functionTypeArgsVarIndexInFrame =>
+      getVarIndexInFrame(functionTypeArgsVar);
 
   bool get hasFunctionTypeArgsVar => _currentFrame.functionTypeArgsVar != null;
 
@@ -351,7 +354,8 @@
 
         if (_currentFrame.numTypeArguments > 0) {
           _currentFrame.functionTypeArgsVar =
-              new VariableDeclaration(':function_type_arguments_var');
+              new VariableDeclaration(':function_type_arguments_var')
+                ..fileOffset = function.fileOffset;
           _declareVariable(_currentFrame.functionTypeArgsVar);
         }
 
@@ -1197,7 +1201,7 @@
   @override
   visitMethodInvocation(MethodInvocation node) {
     int numTemps = 0;
-    if (isUncheckedClosureCall(node, locals.typeEnvironment)) {
+    if (isUncheckedClosureCall(node, locals.typeEnvironment, locals.options)) {
       numTemps = 1;
     }
     _visit(node, temps: numTemps);
diff --git a/pkg/vm/lib/bytecode/object_table.dart b/pkg/vm/lib/bytecode/object_table.dart
index d16c0bd..688f437 100644
--- a/pkg/vm/lib/bytecode/object_table.dart
+++ b/pkg/vm/lib/bytecode/object_table.dart
@@ -1592,8 +1592,7 @@
   bool operator ==(other) => other is _ScriptHandle && this.uri == other.uri;
 
   @override
-  String toString() =>
-      "$uri${source != null ? '(source ${source.importUri})' : ''}";
+  String toString() => "$uri${source != null ? '($source)' : ''}";
 }
 
 class ObjectTable implements ObjectWriter, ObjectReader {
diff --git a/pkg/vm/lib/bytecode/options.dart b/pkg/vm/lib/bytecode/options.dart
index 1772143..b926cfc 100644
--- a/pkg/vm/lib/bytecode/options.dart
+++ b/pkg/vm/lib/bytecode/options.dart
@@ -13,6 +13,12 @@
     'show-bytecode-size-stat': 'Show bytecode size breakdown',
     'source-positions': 'Emit source positions',
     'instance-field-initializers': 'Emit separate instance field initializers',
+    'keep-unreachable-code':
+        'Do not remove unreachable code (useful if collecting code coverage)',
+    'avoid-closure-call-instructions':
+        'Do not emit closure call instructions (useful if collecting code '
+            'coverage, as closure call instructions are not tracked by code '
+            'coverage)',
   };
 
   bool enableAsserts;
@@ -24,6 +30,8 @@
   bool emitAnnotations;
   bool emitInstanceFieldInitializers;
   bool omitAssertSourcePositions;
+  bool keepUnreachableCode;
+  bool avoidClosureCallInstructions;
   bool showBytecodeSizeStatistics;
   Map<String, String> environmentDefines;
 
@@ -37,6 +45,8 @@
       this.emitAnnotations = false,
       this.emitInstanceFieldInitializers = false,
       this.omitAssertSourcePositions = false,
+      this.keepUnreachableCode = false,
+      this.avoidClosureCallInstructions = false,
       this.showBytecodeSizeStatistics = false,
       this.environmentDefines = const <String, String>{}}) {
     causalAsyncStacks ??=
@@ -64,6 +74,12 @@
         case 'instance-field-initializers':
           emitInstanceFieldInitializers = true;
           break;
+        case 'keep-unreachable-code':
+          keepUnreachableCode = true;
+          break;
+        case 'avoid-closure-call-instructions':
+          avoidClosureCallInstructions = true;
+          break;
         case 'show-bytecode-size-stat':
           showBytecodeSizeStatistics = true;
           break;
diff --git a/pkg/vm_service/CHANGELOG.md b/pkg/vm_service/CHANGELOG.md
index 20c71b0..b4b0668 100644
--- a/pkg/vm_service/CHANGELOG.md
+++ b/pkg/vm_service/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+## 1.1.1
+- Fixed issue serializing list arguments for certain VM service methods.
+  - Issue #37872
+
 ## 1.1.0
 - Support service protocol version 3.25:
   - Added `getInboundReferences`, `getRetainingPath` methods
diff --git a/pkg/vm_service/java/src/org/dartlang/vm/service/element/Element.java b/pkg/vm_service/java/src/org/dartlang/vm/service/element/Element.java
index 2319998..cdee4bd 100644
--- a/pkg/vm_service/java/src/org/dartlang/vm/service/element/Element.java
+++ b/pkg/vm_service/java/src/org/dartlang/vm/service/element/Element.java
@@ -1,6 +1,8 @@
 package org.dartlang.vm.service.element;
 
 import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonNull;
 import com.google.gson.JsonObject;
 
 import java.util.ArrayList;
@@ -17,6 +19,30 @@
   }
 
   /**
+   * A utility method to handle null values and JsonNull values.
+   */
+  String getAsString(String name) {
+    final JsonElement element = json.get(name);
+    return (element == null || element == JsonNull.INSTANCE) ? null : element.getAsString();
+  }
+
+  /**
+   * A utility method to handle null values and JsonNull values.
+   */
+  int getAsInt(String name) {
+    final JsonElement element = json.get(name);
+    return (element == null || element == JsonNull.INSTANCE) ? -1 : element.getAsInt();
+  }
+
+  /**
+   * A utility method to handle null values and JsonNull values.
+   */
+  boolean getAsBoolean(String name) {
+    final JsonElement element = json.get(name);
+    return (element == null || element == JsonNull.INSTANCE) ? false : element.getAsBoolean();
+  }
+
+  /**
    * Return the underlying JSON backing this element.
    */
   public JsonObject getJson() {
diff --git a/pkg/vm_service/lib/vm_service.dart b/pkg/vm_service/lib/vm_service.dart
index edaf14b..0030b6b 100644
--- a/pkg/vm_service/lib/vm_service.dart
+++ b/pkg/vm_service/lib/vm_service.dart
@@ -929,7 +929,7 @@
             params['isolateId'],
             params['targetId'],
             params['selector'],
-            params['argumentIds'],
+            List<String>.from(params['argumentIds'] ?? []),
             disableBreakpoints: params['disableBreakpoints'],
           );
           break;
@@ -1013,7 +1013,7 @@
         case 'getSourceReport':
           response = await _serviceImplementation.getSourceReport(
             params['isolateId'],
-            params['reports'],
+            List<String>.from(params['reports'] ?? []),
             scriptId: params['scriptId'],
             tokenPos: params['tokenPos'],
             endTokenPos: params['endTokenPos'],
@@ -1107,7 +1107,7 @@
           break;
         case 'setVMTimelineFlags':
           response = await _serviceImplementation.setVMTimelineFlags(
-            params['recordedStreams'],
+            List<String>.from(params['recordedStreams'] ?? []),
           );
           break;
         case 'streamCancel':
diff --git a/pkg/vm_service/pubspec.yaml b/pkg/vm_service/pubspec.yaml
index b2e57b3..244e9f6 100644
--- a/pkg/vm_service/pubspec.yaml
+++ b/pkg/vm_service/pubspec.yaml
@@ -2,7 +2,7 @@
 description: >-
   A library to communicate with a service implementing the Dart VM
   service protocol.
-version: 1.1.0
+version: 1.1.1
 
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/vm_service
diff --git a/pkg/vm_service/test/server_test.dart b/pkg/vm_service/test/server_test.dart
index 189394c..4fdee8f 100644
--- a/pkg/vm_service/test/server_test.dart
+++ b/pkg/vm_service/test/server_test.dart
@@ -66,6 +66,36 @@
       requestsController.add(request);
     });
 
+    test('works for methods with list parameters', () {
+      var isolate = Isolate()
+        ..id = '123'
+        ..number = '0'
+        ..startTime = 1
+        ..runnable = true
+        ..livePorts = 2
+        ..pauseOnExit = false
+        ..pauseEvent = (Event()
+          ..kind = EventKind.kResume
+          ..timestamp = 3)
+        ..libraries = []
+        ..breakpoints = [];
+      var request = rpcRequest("setVMTimelineFlags", params: {
+        'isolateId': isolate.id,
+        // Note: the dynamic list below is intentional in order to exercise the
+        // code under test.
+        'recordedStreams': <dynamic>['GC', 'Dart', 'Embedder'],
+      });
+      var response = Success();
+      when(serviceMock.getIsolate(isolate.id))
+          .thenAnswer((Invocation invocation) {
+        expect(invocation.namedArguments,
+            equals({Symbol('isolateId'): null, Symbol('args'): null}));
+        return Future.value(isolate);
+      });
+      expect(responsesController.stream, emits(rpcResponse(response)));
+      requestsController.add(request);
+    });
+
     group('custom service extensions', () {
       test('with no params or isolateId', () {
         var extension = 'ext.cool';
@@ -440,4 +470,9 @@
   Stream<Event> onEvent(String streamId) => streamControllers
       .putIfAbsent(streamId, () => StreamController<Event>())
       .stream;
+
+  @override
+  Future<Success> setVMTimelineFlags(List<String> recordedStreams) async {
+    return Success();
+  }
 }
diff --git a/pkg/vm_service/tool/dart/generate_dart.dart b/pkg/vm_service/tool/dart/generate_dart.dart
index 244f517..be4a182 100644
--- a/pkg/vm_service/tool/dart/generate_dart.dart
+++ b/pkg/vm_service/tool/dart/generate_dart.dart
@@ -635,8 +635,13 @@
         } else {
           gen.write("response = await _serviceImplementation.${m.name}(");
           // Positional args
-          m.args.where((arg) => !arg.optional).forEach((arg) {
-            gen.write("params['${arg.name}'], ");
+          m.args.where((arg) => !arg.optional).forEach((MethodArg arg) {
+            if (arg.type.isArray) {
+              gen.write(
+                  "${arg.type.listCreationRef}.from(params['${arg.name}'] ?? []), ");
+            } else {
+              gen.write("params['${arg.name}'], ");
+            }
           });
           // Optional named args
           var namedArgs = m.args.where((arg) => arg.optional);
@@ -1169,6 +1174,16 @@
     }
   }
 
+  String get listCreationRef {
+    assert(arrayDepth == 1);
+
+    if (isListTypeSimple) {
+      return 'List<$name>';
+    } else {
+      return 'List<String>';
+    }
+  }
+
   String get listTypeArg => arrayDepth == 2 ? 'List<$name>' : name;
 
   bool get isArray => arrayDepth > 0;
diff --git a/pkg/vm_service/tool/java/generate_java.dart b/pkg/vm_service/tool/java/generate_java.dart
index 1039f87..099e0e0 100644
--- a/pkg/vm_service/tool/java/generate_java.dart
+++ b/pkg/vm_service/tool/java/generate_java.dart
@@ -1038,11 +1038,8 @@
           writer.addLine('final JsonElement elem = json.get("$propertyName");');
           writer.addLine(
               'return elem != null ? elem.getAsBoolean() : $defaultValue;');
-        } else if (optional) {
-          writer.addLine('return json.get("$propertyName") == null ? '
-              'false : json.get("$propertyName").getAsBoolean();');
         } else {
-          writer.addLine('return json.get("$propertyName").getAsBoolean();');
+          writer.addLine('return getAsBoolean("$propertyName");');
         }
       }
     } else if (name == 'int') {
@@ -1057,8 +1054,7 @@
           writer.addLine('return json.get("$propertyName") == null ? '
               '-1 : json.get("$propertyName").getAsLong();');
         } else {
-          writer.addLine('return json.get("$propertyName") == null ? '
-              '-1 : json.get("$propertyName").getAsInt();');
+          writer.addLine('return getAsInt("$propertyName");');
         }
       }
     } else if (name == 'double') {
@@ -1080,11 +1076,8 @@
         } else {
           writer.addLine('return getListString("$propertyName");');
         }
-      } else if (optional) {
-        writer.addLine('return json.get("$propertyName") == null ? '
-            'null : json.get("$propertyName").getAsString();');
       } else {
-        writer.addLine('return json.get("$propertyName").getAsString();');
+        writer.addLine('return getAsString("$propertyName");');
       }
     } else if (isEnum) {
       if (isArray) {
diff --git a/runtime/bin/ffi_test/ffi_test_functions.cc b/runtime/bin/ffi_test/ffi_test_functions.cc
index a3b0a02..6e6223e 100644
--- a/runtime/bin/ffi_test/ffi_test_functions.cc
+++ b/runtime/bin/ffi_test/ffi_test_functions.cc
@@ -16,7 +16,7 @@
 #include <unistd.h>
 
 // Only OK to use here because this is test code.
-#include <thread>
+#include <thread>  // NOLINT(build/c++11)
 #endif
 
 #include <setjmp.h>
@@ -499,24 +499,28 @@
 // Functions for stress-testing.
 
 DART_EXPORT int64_t MinInt64() {
-  Dart_ExecuteInternalCommand("gc-on-next-allocation", nullptr);
+  Dart_ExecuteInternalCommand("gc-on-nth-allocation",
+                              reinterpret_cast<void*>(1));
   return 0x8000000000000000;
 }
 
 DART_EXPORT int64_t MinInt32() {
-  Dart_ExecuteInternalCommand("gc-on-next-allocation", nullptr);
+  Dart_ExecuteInternalCommand("gc-on-nth-allocation",
+                              reinterpret_cast<void*>(1));
   return 0x80000000;
 }
 
 DART_EXPORT double SmallDouble() {
-  Dart_ExecuteInternalCommand("gc-on-next-allocation", nullptr);
+  Dart_ExecuteInternalCommand("gc-on-nth-allocation",
+                              reinterpret_cast<void*>(1));
   return 0x80000000 * -1.0;
 }
 
 // Requires boxing on 32-bit and 64-bit systems, even if the top 32-bits are
 // truncated.
 DART_EXPORT void* LargePointer() {
-  Dart_ExecuteInternalCommand("gc-on-next-allocation", nullptr);
+  Dart_ExecuteInternalCommand("gc-on-nth-allocation",
+                              reinterpret_cast<void*>(1));
   uint64_t origin = 0x8100000082000000;
   return reinterpret_cast<void*>(origin);
 }
@@ -525,6 +529,11 @@
   Dart_ExecuteInternalCommand("gc-now", nullptr);
 }
 
+DART_EXPORT void CollectOnNthAllocation(intptr_t num_allocations) {
+  Dart_ExecuteInternalCommand("gc-on-nth-allocation",
+                              reinterpret_cast<void*>(num_allocations));
+}
+
 // Triggers GC. Has 11 dummy arguments as unboxed odd integers which should be
 // ignored by GC.
 DART_EXPORT void Regress37069(uint64_t a,
@@ -567,29 +576,42 @@
   return nullptr;
 }
 
-DART_EXPORT void* UnprotectCode() {
+struct HelperThreadState {
   std::mutex mutex;
   std::condition_variable cvar;
-  std::unique_lock<std::mutex> lock(mutex);  // locks the mutex
-  std::thread* helper = new std::thread(UnprotectCodeOtherThread,
-                                        Dart_CurrentIsolate(), &cvar, &mutex);
+  std::unique_ptr<std::thread> helper;
+};
 
-  cvar.wait(lock);
+DART_EXPORT void* TestUnprotectCode(void (*fn)(void*)) {
+  HelperThreadState* state = new HelperThreadState;
 
-  return helper;
+  {
+    std::unique_lock<std::mutex> lock(state->mutex);  // locks the mutex
+    state->helper.reset(new std::thread(UnprotectCodeOtherThread,
+                                        Dart_CurrentIsolate(), &state->cvar,
+                                        &state->mutex));
+
+    state->cvar.wait(lock);
+  }
+
+  if (fn != nullptr) {
+    fn(state);
+    return nullptr;
+  } else {
+    return state;
+  }
 }
 
-DART_EXPORT void WaitForHelper(void* helper) {
-  std::thread* thread = reinterpret_cast<std::thread*>(helper);
-  thread->join();
-  delete thread;
+DART_EXPORT void WaitForHelper(HelperThreadState* helper) {
+  helper->helper->join();
+  delete helper;
 }
 #else
 // Our version of VSC++ doesn't support std::thread yet.
-DART_EXPORT void* UnprotectCode() {
+DART_EXPORT void WaitForHelper(void* helper) {}
+DART_EXPORT void* TestUnprotectCode(void (*fn)(void)) {
   return nullptr;
 }
-DART_EXPORT void WaitForHelper(void* helper) {}
 #endif
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/runtime/lib/ffi.cc b/runtime/lib/ffi.cc
index 72d6c09..347cd05 100644
--- a/runtime/lib/ffi.cc
+++ b/runtime/lib/ffi.cc
@@ -436,7 +436,10 @@
                                    const Function& dart_target,
                                    const Instance& exceptional_return) {
   Thread* const thread = Thread::Current();
-  const int32_t callback_id = thread->AllocateFfiCallbackId();
+
+  uword entry_point = 0;
+  const int32_t callback_id = thread->AllocateFfiCallbackId(&entry_point);
+  ASSERT(NativeCallbackTrampolines::Enabled() == (entry_point != 0));
 
   // Create a new Function named 'FfiCallback' and stick it in the 'dart:ffi'
   // library. Note that these functions will never be invoked by Dart, so it
@@ -501,7 +504,11 @@
 
   thread->SetFfiCallbackCode(callback_id, code);
 
-  return code.EntryPoint();
+  if (entry_point != 0) {
+    return entry_point;
+  } else {
+    return code.EntryPoint();
+  }
 }
 #endif
 
diff --git a/runtime/lib/ffi_dynamic_library_patch.dart b/runtime/lib/ffi_dynamic_library_patch.dart
index 32cabc6..c92dc1b 100644
--- a/runtime/lib/ffi_dynamic_library_patch.dart
+++ b/runtime/lib/ffi_dynamic_library_patch.dart
@@ -29,7 +29,7 @@
   Pointer<T> lookup<T extends NativeType>(String symbolName)
       native "Ffi_dl_lookup";
 
-  // The real implementation of this function lives in FfiUseSitesTransformer
+  // The real implementation of this function lives in FfiUseSiteTransformer
   // for interface calls. Only dynamic calls (which are illegal) reach this
   // implementation.
   @patch
diff --git a/runtime/lib/isolate.cc b/runtime/lib/isolate.cc
index f3ae89c..f8a102c 100644
--- a/runtime/lib/isolate.cc
+++ b/runtime/lib/isolate.cc
@@ -28,6 +28,11 @@
 
 namespace dart {
 
+DEFINE_FLAG(bool,
+            enable_isolate_groups,
+            true,
+            "Whether to enable support for isolate groups.");
+
 DEFINE_NATIVE_ENTRY(CapabilityImpl_factory, 0, 1) {
   ASSERT(
       TypeArguments::CheckedHandle(zone, arguments->NativeArgAt(0)).IsNull());
@@ -152,7 +157,8 @@
     // Create a new isolate.
     char* error = nullptr;
     Isolate* isolate = nullptr;
-    if (group == nullptr || initialize_callback == nullptr) {
+    if (!FLAG_enable_isolate_groups || group == nullptr ||
+        initialize_callback == nullptr) {
       // Make a copy of the state's isolate flags and hand it to the callback.
       Dart_IsolateFlags api_flags = *(state_->isolate_flags());
       isolate = reinterpret_cast<Isolate*>((create_group_callback)(
diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
index ba70af6..3d291af 100644
--- a/runtime/lib/mirrors.cc
+++ b/runtime/lib/mirrors.cc
@@ -594,10 +594,6 @@
   AbstractType& result = AbstractType::Handle(type.InstantiateFrom(
       instantiator_type_args, Object::null_type_arguments(), kAllFree, NULL,
       Heap::kOld));
-  if (result.IsNull()) {
-    // TODO(https://github.com/dart-lang/sdk/issues/37360): Remove this.
-    return type.raw();
-  }
   ASSERT(result.IsFinalized());
   return result.Canonicalize();
 }
diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart
index 0b99d44..d6d07fd 100644
--- a/runtime/lib/mirrors_impl.dart
+++ b/runtime/lib/mirrors_impl.dart
@@ -561,8 +561,7 @@
 
     var decls = new Map<Symbol, DeclarationMirror>();
 
-    var members = (mixin as _LocalClassMirror)._computeMembers(
-        _instantiator, (mixin as _LocalClassMirror)._reflectee);
+    var members = _computeMembers(mixin, _instantiator, _reflectee);
     for (var member in members) {
       decls[member.simpleName] = member;
     }
@@ -719,7 +718,7 @@
   static Type _nativeMixinInstantiated(reflectedType, instantiator)
       native "ClassMirror_mixin_instantiated";
 
-  List<dynamic> _computeMembers(reflectee, instantiator)
+  static List<dynamic> _computeMembers(owner, reflectee, instantiator)
       native "ClassMirror_members";
 
   List<dynamic> _computeConstructors(reflectee, instantiator)
diff --git a/runtime/observatory/lib/object_graph.dart b/runtime/observatory/lib/object_graph.dart
index 88643d7..f4bd617 100644
--- a/runtime/observatory/lib/object_graph.dart
+++ b/runtime/observatory/lib/object_graph.dart
@@ -888,7 +888,6 @@
     for (var i = 1; i <= Nconnected; i++) {
       var v = vertex[i];
       ownedSizes[v] = shallowSizes[v] + externalSizes[v];
-      assert((ownedSizes[v] != 0) || cids[v] == kStackCid || v == ROOT);
     }
 
     for (var i = Nconnected; i > 1; i--) {
@@ -920,7 +919,7 @@
           (onlyPred != ROOT) &&
           (cids[onlyPred] != kStackCid) &&
           (cids[onlyPred] != kFieldCid)) {
-        assert(ownedSizes[w] != 0);
+        assert(onlyPred != w);
         ownedSizes[onlyPred] += ownedSizes[w];
         ownedSizes[w] = 0;
       }
diff --git a/runtime/observatory/tests/service/get_vm_timeline_rpc_test.dart b/runtime/observatory/tests/service/get_vm_timeline_rpc_test.dart
index 53fd8cd..f683ab7 100644
--- a/runtime/observatory/tests/service/get_vm_timeline_rpc_test.dart
+++ b/runtime/observatory/tests/service/get_vm_timeline_rpc_test.dart
@@ -18,7 +18,7 @@
   task.instant('ITASK');
   task.finish();
 
-  Flow flow = Flow.begin();
+  Flow flow = Flow.begin(id: 123);
   Timeline.startSync('peach', flow: flow);
   Timeline.finishSync();
   Timeline.startSync('watermelon', flow: Flow.step(flow.id));
@@ -114,9 +114,12 @@
     expect(eventsContains(dartEvents, 'e', 'TASK1'), isTrue);
     expect(eventsContains(dartEvents, 'n', 'ITASK'), isTrue);
     expect(eventsContains(dartEvents, 'q', 'ITASK'), isFalse);
-    expect(eventsContains(dartEvents, 's', 'peach'), isTrue);
-    expect(eventsContains(dartEvents, 't', 'watermelon'), isTrue);
-    expect(eventsContains(dartEvents, 'f', 'pear'), isTrue);
+    expect(eventsContains(dartEvents, 'X', 'peach'), isTrue);
+    expect(eventsContains(dartEvents, 'X', 'watermelon'), isTrue);
+    expect(eventsContains(dartEvents, 'X', 'pear'), isTrue);
+    expect(eventsContains(dartEvents, 's', '123'), isTrue);
+    expect(eventsContains(dartEvents, 't', '123'), isTrue);
+    expect(eventsContains(dartEvents, 'f', '123'), isTrue);
     // Calculate the time Window of Dart events.
     int origin = timeOrigin(dartEvents);
     int extent = timeDuration(dartEvents, origin);
diff --git a/runtime/tools/dartfuzz/collect_data.py b/runtime/tools/dartfuzz/collect_data.py
old mode 100644
new mode 100755
diff --git a/runtime/tools/dartfuzz/dartfuzz.dart b/runtime/tools/dartfuzz/dartfuzz.dart
index 73797d4..97b9683 100644
--- a/runtime/tools/dartfuzz/dartfuzz.dart
+++ b/runtime/tools/dartfuzz/dartfuzz.dart
@@ -13,7 +13,7 @@
 // Version of DartFuzz. Increase this each time changes are made
 // to preserve the property that a given version of DartFuzz yields
 // the same fuzzed program for a deterministic random seed.
-const String version = '1.19';
+const String version = '1.23';
 
 // Restriction on statements and expressions.
 const int stmtLength = 2;
@@ -115,7 +115,7 @@
     for (int i = 0; i < methods.length; i++) {
       List<DartType> method = methods[i];
       currentMethod = i;
-      bool isFfiMethod = ffiStatus != null && ffiStatus[i];
+      final bool isFfiMethod = ffiStatus != null && ffiStatus[i];
       if (isFfiMethod) {
         emitFfiTypedef("${name}Ffi${i}Type", method);
         emitLn('${method[0].name} ${name}Ffi$i(', newline: false);
@@ -318,7 +318,7 @@
 
   // Emit a simple increasing for-loop.
   bool emitFor(int depth) {
-    int i = localVars.length;
+    final int i = localVars.length;
     emitLn('for (int $localName$i = 0; $localName$i < ', newline: false);
     emitSmallPositiveInt();
     emit('; $localName$i++) {', newline: true);
@@ -337,7 +337,7 @@
 
   // Emit a simple membership for-in-loop.
   bool emitForIn(int depth) {
-    int i = localVars.length;
+    final int i = localVars.length;
     emitLn('for (int $localName$i in ', newline: false);
     emitExpr(0, rand.nextBool() ? DartType.INT_LIST : DartType.INT_SET);
     emit(') {', newline: true);
@@ -352,9 +352,30 @@
     return true;
   }
 
+  // Emit a simple membership forEach loop.
+  bool emitForEach(int depth) {
+    final int i = localVars.length;
+    emitLn("", newline: false);
+    emitScalarVar(DartType.INT_STRING_MAP, isLhs: true);
+    emit('.forEach(($localName$i, $localName${i + 1}) {\n');
+    indent += 2;
+    final int nestTmp = nest;
+    // Reset, since forEach cannot break out of own or enclosing context.
+    nest = 0;
+    localVars.add(DartType.INT);
+    localVars.add(DartType.STRING);
+    emitStatements(depth + 1);
+    localVars.removeLast();
+    localVars.removeLast();
+    nest = nestTmp;
+    indent -= 2;
+    emitLn('});');
+    return true;
+  }
+
   // Emit a while-loop.
   bool emitWhile(int depth) {
-    int i = localVars.length;
+    final int i = localVars.length;
     emitLn('{ int $localName$i = ', newline: false);
     emitSmallPositiveInt();
     emit(';', newline: true);
@@ -377,7 +398,7 @@
 
   // Emit a do-while-loop.
   bool emitDoWhile(int depth) {
-    int i = localVars.length;
+    final int i = localVars.length;
     emitLn('{ int $localName$i = 0;');
     indent += 2;
     emitLn('do {');
@@ -513,6 +534,8 @@
         return emitScope(depth);
       case 12:
         return emitTryCatch(depth);
+      case 13:
+        return emitForEach(depth);
       default:
         return emitAssign();
     }
@@ -628,7 +651,7 @@
         break;
       case 2:
         {
-          int i = localVars.length;
+          final int i = localVars.length;
           emit('for (int $localName$i ');
           // For-loop (induction, list, set).
           switch (rand.nextInt(3)) {
@@ -847,7 +870,7 @@
   // Emit library call.
   void emitLibraryCall(int depth, DartType tp) {
     DartLib lib = getLibraryMethod(tp);
-    String proto = lib.proto;
+    final String proto = lib.proto;
     // Receiver.
     if (proto[0] != 'V') {
       emit('(');
@@ -895,10 +918,10 @@
       }
     } else {
       // Inside a class: try to call backwards in class methods first.
-      int m1 = currentMethod == null
+      final int m1 = currentMethod == null
           ? classMethods[currentClass].length
           : currentMethod;
-      int m2 = globalMethods.length;
+      final int m2 = globalMethods.length;
       if (pickedCall(depth, tp, '$methodName${currentClass}_',
               classMethods[currentClass], m1) ||
           pickedCall(depth, tp, methodName, globalMethods, m2)) {
@@ -1162,22 +1185,23 @@
     return null;
   }
 
-  String getFfiType(String name) {
-    switch (name) {
-      case 'int':
-        return 'ffi.Int32';
-      case 'double':
-        return 'ffi.Double';
-      default:
-        throw 'Invalid FFI type ${name}';
+  void emitFfiType(DartType tp) {
+    if (tp == DartType.INT) {
+      emit(oneOf(['ffi.Int8', 'ffi.Int16', 'ffi.Int32', 'ffi.Int64']));
+    } else if (tp == DartType.DOUBLE) {
+      emit(oneOf(['ffi.Float', 'ffi.Double']));
+    } else {
+      throw 'Invalid FFI type ${tp.name}';
     }
   }
 
   void emitFfiTypedef(String typeName, List<DartType> pars) {
-    emit("typedef ${typeName} = ${getFfiType(pars[0].name)} Function(");
+    emit("typedef ${typeName} = ");
+    emitFfiType(pars[0]);
+    emit(" Function(");
     for (int i = 1; i < pars.length; i++) {
       DartType tp = pars[i];
-      emit('${getFfiType(tp.name)}');
+      emitFfiType(tp);
       if (i != (pars.length - 1)) {
         emit(', ');
       }
diff --git a/runtime/tools/dartfuzz/dartfuzz_test.dart b/runtime/tools/dartfuzz/dartfuzz_test.dart
index a78d9e1..6311961 100644
--- a/runtime/tools/dartfuzz/dartfuzz_test.dart
+++ b/runtime/tools/dartfuzz/dartfuzz_test.dart
@@ -44,7 +44,7 @@
   String description;
 
   // Factory.
-  static TestRunner getTestRunner(String mode, String top, String tmp,
+  static TestRunner getTestRunner(String mode, bool ffi, String top, String tmp,
       Map<String, String> env, String fileName, Random rand) {
     String prefix = mode.substring(0, 3).toUpperCase();
     String tag = getTag(mode);
@@ -87,7 +87,8 @@
       } else if (r == 4) {
         prefix += '-DEPOPTEVERY';
         extraFlags += ['--deoptimize_every=100'];
-      } else if (r == 5) {
+      } else if (r == 5 && !ffi) {
+        // TODO: https://github.com/dart-lang/sdk/issues/37606
         prefix += '-STACKTRACEEVERY';
         extraFlags += ['--stacktrace_every=100'];
       } else if (r == 6) {
@@ -288,12 +289,12 @@
     rand = new Random();
     tmpDir = Directory.systemTemp.createTempSync('dart_fuzz');
     fileName = '${tmpDir.path}/fuzz.dart';
-    runner1 =
-        TestRunner.getTestRunner(mode1, top, tmpDir.path, env, fileName, rand);
-    runner2 =
-        TestRunner.getTestRunner(mode2, top, tmpDir.path, env, fileName, rand);
     fp = samePrecision(mode1, mode2);
     ffi = ffiCapable(mode1, mode2);
+    runner1 = TestRunner.getTestRunner(
+        mode1, ffi, top, tmpDir.path, env, fileName, rand);
+    runner2 = TestRunner.getTestRunner(
+        mode2, ffi, top, tmpDir.path, env, fileName, rand);
     isolate =
         'Isolate (${tmpDir.path}) ${ffi ? "" : "NO-"}FFI ${fp ? "" : "NO-"}FP : '
         '${runner1.description} - ${runner2.description}';
diff --git a/runtime/tools/dartfuzz/dartfuzz_values.dart b/runtime/tools/dartfuzz/dartfuzz_values.dart
index 704e511..9849cf6 100644
--- a/runtime/tools/dartfuzz/dartfuzz_values.dart
+++ b/runtime/tools/dartfuzz/dartfuzz_values.dart
@@ -48,39 +48,160 @@
   static const List<int> interestingIntegers = [
     0x0000000000000000,
     0x0000000000000001,
+    0x0000000000000010,
+    0x0000000000000020,
+    0x0000000000000040,
+    0x0000000000000064,
+    0x000000000000007f,
+    0x0000000000000080,
+    0x0000000000000081,
+    0x00000000000000ff,
+    0x0000000000000100,
+    0x0000000000000200,
+    0x00000000000003e8,
+    0x0000000000000400,
+    0x0000000000001000,
+    0x0000000000007fff,
+    0x0000000000008000,
+    0x0000000000008001,
+    0x000000000000ffff,
+    0x0000000000010000,
+    0x0000000005ffff05,
     0x000000007fffffff,
     0x0000000080000000,
     0x0000000080000001,
     0x00000000ffffffff,
     0x0000000100000000,
     0x0000000100000001,
+    0x0000000100000010,
+    0x0000000100000020,
+    0x0000000100000040,
+    0x0000000100000064,
+    0x000000010000007f,
+    0x0000000100000080,
+    0x0000000100000081,
+    0x00000001000000ff,
+    0x0000000100000100,
+    0x0000000100000200,
+    0x00000001000003e8,
+    0x0000000100000400,
+    0x0000000100001000,
+    0x0000000100007fff,
+    0x0000000100008000,
+    0x0000000100008001,
+    0x000000010000ffff,
+    0x0000000100010000,
+    0x0000000105ffff05,
     0x000000017fffffff,
     0x0000000180000000,
     0x0000000180000001,
     0x00000001ffffffff,
     0x7fffffff00000000,
     0x7fffffff00000001,
+    0x7fffffff00000010,
+    0x7fffffff00000020,
+    0x7fffffff00000040,
+    0x7fffffff00000064,
+    0x7fffffff0000007f,
+    0x7fffffff00000080,
+    0x7fffffff00000081,
+    0x7fffffff000000ff,
+    0x7fffffff00000100,
+    0x7fffffff00000200,
+    0x7fffffff000003e8,
+    0x7fffffff00000400,
+    0x7fffffff00001000,
+    0x7fffffff00007fff,
+    0x7fffffff00008000,
+    0x7fffffff00008001,
+    0x7fffffff0000ffff,
+    0x7fffffff00010000,
+    0x7fffffff05ffff05,
     0x7fffffff7fffffff,
     0x7fffffff80000000,
     0x7fffffff80000001,
     0x7fffffffffffffff,
     0x8000000000000000,
     0x8000000000000001,
+    0x8000000000000010,
+    0x8000000000000020,
+    0x8000000000000040,
+    0x8000000000000064,
+    0x800000000000007f,
+    0x8000000000000080,
+    0x8000000000000081,
+    0x80000000000000ff,
+    0x8000000000000100,
+    0x8000000000000200,
+    0x80000000000003e8,
+    0x8000000000000400,
+    0x8000000000001000,
+    0x8000000000007fff,
+    0x8000000000008000,
+    0x8000000000008001,
+    0x800000000000ffff,
+    0x8000000000010000,
+    0x8000000005ffff05,
     0x800000007fffffff,
     0x8000000080000000,
     0x8000000080000001,
     0x80000000ffffffff,
     0x8000000100000000,
     0x8000000100000001,
+    0x8000000100000010,
+    0x8000000100000020,
+    0x8000000100000040,
+    0x8000000100000064,
+    0x800000010000007f,
+    0x8000000100000080,
+    0x8000000100000081,
+    0x80000001000000ff,
+    0x8000000100000100,
+    0x8000000100000200,
+    0x80000001000003e8,
+    0x8000000100000400,
+    0x8000000100001000,
+    0x8000000100007fff,
+    0x8000000100008000,
+    0x8000000100008001,
+    0x800000010000ffff,
+    0x8000000100010000,
+    0x8000000105ffff05,
     0x800000017fffffff,
     0x8000000180000000,
     0x8000000180000001,
     0x80000001ffffffff,
     0xffffffff00000000,
     0xffffffff00000001,
+    0xffffffff00000010,
+    0xffffffff00000020,
+    0xffffffff00000040,
+    0xffffffff00000064,
+    0xffffffff0000007f,
+    0xffffffff00000080,
+    0xffffffff00000081,
+    0xffffffff000000ff,
+    0xffffffff00000100,
+    0xffffffff00000200,
+    0xffffffff000003e8,
+    0xffffffff00000400,
+    0xffffffff00001000,
+    0xffffffff00007fff,
+    0xffffffff00008000,
+    0xffffffff00008001,
+    0xffffffff0000ffff,
+    0xffffffff00010000,
+    0xffffffff05ffff05,
     0xffffffff7fffffff,
     0xffffffff80000000,
     0xffffffff80000001,
-    0xffffffffffffffff
+    0xfffffffffa0000fa,
+    0xffffffffffff7fff,
+    0xffffffffffff8000,
+    0xffffffffffff8001,
+    0xffffffffffffff7f,
+    0xffffffffffffff80,
+    0xffffffffffffff81,
+    0xffffffffffffffff,
   ];
 }
diff --git a/runtime/tools/dartfuzz/gen_api_table.dart b/runtime/tools/dartfuzz/gen_api_table.dart
old mode 100755
new mode 100644
diff --git a/runtime/vm/bitfield.h b/runtime/vm/bitfield.h
index 7d15b0a..8b417dd 100644
--- a/runtime/vm/bitfield.h
+++ b/runtime/vm/bitfield.h
@@ -28,18 +28,20 @@
   }
 
   // Returns a S mask of the bit field.
-  static S mask() { return (kUwordOne << size) - 1; }
+  static constexpr S mask() { return (kUwordOne << size) - 1; }
 
   // Returns a S mask of the bit field which can be applied directly to
   // to the raw unshifted bits.
-  static S mask_in_place() { return ((kUwordOne << size) - 1) << position; }
+  static constexpr S mask_in_place() {
+    return ((kUwordOne << size) - 1) << position;
+  }
 
   // Returns the shift count needed to right-shift the bit field to
   // the least-significant bits.
-  static int shift() { return position; }
+  static constexpr int shift() { return position; }
 
   // Returns the size of the bit field.
-  static int bitsize() { return size; }
+  static constexpr int bitsize() { return size; }
 
   // Returns an S with the bit field value encoded.
   static S encode(T value) {
diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
index afcc9f3..7a33519 100644
--- a/runtime/vm/class_finalizer.cc
+++ b/runtime/vm/class_finalizer.cc
@@ -8,6 +8,7 @@
 #include "vm/flags.h"
 #include "vm/hash_table.h"
 #include "vm/heap/heap.h"
+#include "vm/interpreter.h"
 #include "vm/isolate.h"
 #include "vm/kernel_loader.h"
 #include "vm/log.h"
@@ -1155,12 +1156,6 @@
   }
   // Mark as loaded and finalized.
   cls.Finalize();
-  // Every class should have at least a constructor, unless it is a top level
-  // class or a typedef class. The Kernel frontend does not create an implicit
-  // constructor for abstract classes.
-  // Moreover, Dart 2 precompiler (TFA) can tree shake all members if unused.
-  ASSERT(FLAG_precompiled_mode || cls.IsTopLevel() || cls.IsTypedefClass() ||
-         cls.is_abstract() || (Array::Handle(cls.functions()).Length() > 0));
   FinalizeMemberTypes(cls);
   // Run additional checks after all types are finalized.
   if (FLAG_use_cha_deopt) {
@@ -1687,12 +1682,41 @@
 }
 
 void ClassFinalizer::ClearAllCode(bool including_nonchanging_cids) {
+#ifdef DART_PRECOMPILED_RUNTIME
+  UNREACHABLE();
+#else
+  Thread* mutator_thread = Isolate::Current()->mutator_thread();
+  if (mutator_thread != nullptr) {
+    Interpreter* interpreter = mutator_thread->interpreter();
+    if (interpreter != nullptr) {
+      interpreter->ClearLookupCache();
+    }
+  }
+
   class ClearCodeFunctionVisitor : public FunctionVisitor {
     void Visit(const Function& function) {
-      function.ClearBytecode();
+      bytecode_ = function.bytecode();
+      if (!bytecode_.IsNull()) {
+        pool_ = bytecode_.object_pool();
+        for (intptr_t i = 0; i < pool_.Length(); i++) {
+          ObjectPool::EntryType entry_type = pool_.TypeAt(i);
+          if (entry_type != ObjectPool::EntryType::kTaggedObject) {
+            continue;
+          }
+          entry_ = pool_.ObjectAt(i);
+          if (entry_.IsSubtypeTestCache()) {
+            SubtypeTestCache::Cast(entry_).Reset();
+          }
+        }
+      }
+
       function.ClearCode();
       function.ClearICDataArray();
     }
+
+    Bytecode& bytecode_ = Bytecode::Handle();
+    ObjectPool& pool_ = ObjectPool::Handle();
+    Object& entry_ = Object::Handle();
   };
   ClearCodeFunctionVisitor function_visitor;
   ProgramVisitor::VisitFunctions(&function_visitor);
@@ -1726,6 +1750,7 @@
     miss_function.ClearCode();
     object_store->SetMegamorphicMissHandler(null_code, miss_function);
   }
+#endif  // !DART_PRECOMPILED_RUNTIME
 }
 
 }  // namespace dart
diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc
index b876776..dab1e6d 100644
--- a/runtime/vm/clustered_snapshot.cc
+++ b/runtime/vm/clustered_snapshot.cc
@@ -4855,6 +4855,8 @@
     AddBaseObject(ICData::cached_icdata_arrays_[i], "Array",
                   "<empty icdata entries>");
   }
+  AddBaseObject(SubtypeTestCache::cached_array_, "Array",
+                "<empty subtype entries>");
 
   ClassTable* table = isolate()->class_table();
   for (intptr_t cid = kClassCid; cid < kInstanceCid; cid++) {
@@ -5320,6 +5322,7 @@
   for (intptr_t i = 0; i < ICData::kCachedICDataArrayCount; i++) {
     AddBaseObject(ICData::cached_icdata_arrays_[i]);
   }
+  AddBaseObject(SubtypeTestCache::cached_array_);
 
   ClassTable* table = isolate()->class_table();
   for (intptr_t cid = kClassCid; cid <= kUnwindErrorCid; cid++) {
diff --git a/runtime/vm/code_comments.cc b/runtime/vm/code_comments.cc
new file mode 100644
index 0000000..b4a8e03
--- /dev/null
+++ b/runtime/vm/code_comments.cc
@@ -0,0 +1,23 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+#include "vm/code_comments.h"
+
+namespace dart {
+
+#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(PRODUCT)
+const Code::Comments& CreateCommentsFrom(compiler::Assembler* assembler) {
+  const auto& comments = assembler->comments();
+  Code::Comments& result = Code::Comments::New(comments.length());
+
+  for (intptr_t i = 0; i < comments.length(); i++) {
+    result.SetPCOffsetAt(i, comments[i]->pc_offset());
+    result.SetCommentAt(i, comments[i]->comment());
+  }
+
+  return result;
+}
+#endif  // !defined(DART_PRECOMPILED_RUNTIME) && !defined(PRODUCT)
+
+}  // namespace dart
diff --git a/runtime/vm/code_comments.h b/runtime/vm/code_comments.h
new file mode 100644
index 0000000..d7d1480
--- /dev/null
+++ b/runtime/vm/code_comments.h
@@ -0,0 +1,43 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+#ifndef RUNTIME_VM_CODE_COMMENTS_H_
+#define RUNTIME_VM_CODE_COMMENTS_H_
+
+#include "vm/code_observers.h"
+#include "vm/compiler/assembler/assembler.h"
+#include "vm/object.h"
+
+namespace dart {
+
+#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(PRODUCT)
+
+class CodeCommentsWrapper final : public CodeComments {
+ public:
+  explicit CodeCommentsWrapper(const Code::Comments& comments)
+      : comments_(comments), string_(String::Handle()) {}
+
+  intptr_t Length() const override { return comments_.Length(); }
+
+  intptr_t PCOffsetAt(intptr_t i) const override {
+    return comments_.PCOffsetAt(i);
+  }
+
+  const char* CommentAt(intptr_t i) const override {
+    string_ = comments_.CommentAt(i);
+    return string_.ToCString();
+  }
+
+ private:
+  const Code::Comments& comments_;
+  String& string_;
+};
+
+const Code::Comments& CreateCommentsFrom(compiler::Assembler* assembler);
+
+#endif  // !defined(DART_PRECOMPILED_RUNTIME) && !defined(PRODUCT)
+
+}  // namespace dart
+
+#endif  // RUNTIME_VM_CODE_COMMENTS_H_
diff --git a/runtime/vm/compiler/assembler/assembler_arm.cc b/runtime/vm/compiler/assembler/assembler_arm.cc
index c659426..0e6e40c 100644
--- a/runtime/vm/compiler/assembler/assembler_arm.cc
+++ b/runtime/vm/compiler/assembler/assembler_arm.cc
@@ -190,6 +190,10 @@
   EmitType01(cond, o.type(), AND, 0, rn, rd, o);
 }
 
+void Assembler::ands(Register rd, Register rn, Operand o, Condition cond) {
+  EmitType01(cond, o.type(), AND, 1, rn, rd, o);
+}
+
 void Assembler::eor(Register rd, Register rn, Operand o, Condition cond) {
   EmitType01(cond, o.type(), EOR, 0, rn, rd, o);
 }
@@ -541,20 +545,7 @@
   Emit(encoding);
 }
 
-void Assembler::TransitionGeneratedToNative(Register destination_address,
-                                            Register exit_frame_fp,
-                                            Register addr,
-                                            Register state) {
-  // Save exit frame information to enable stack walking.
-  StoreToOffset(kWord, exit_frame_fp, THR,
-                target::Thread::top_exit_frame_info_offset());
-
-  // Mark that the thread is executing native code.
-  StoreToOffset(kWord, destination_address, THR,
-                target::Thread::vm_tag_offset());
-  LoadImmediate(state, target::Thread::native_execution_state());
-  StoreToOffset(kWord, state, THR, target::Thread::execution_state_offset());
-
+void Assembler::EnterSafepoint(Register addr, Register state) {
   if (FLAG_use_slow_path || TargetCPUFeatures::arm_version() == ARMv5TE) {
     EnterSafepointSlowly();
   } else {
@@ -585,7 +576,27 @@
   blx(TMP);
 }
 
-void Assembler::TransitionNativeToGenerated(Register addr, Register state) {
+void Assembler::TransitionGeneratedToNative(Register destination_address,
+                                            Register exit_frame_fp,
+                                            Register addr,
+                                            Register state,
+                                            bool enter_safepoint) {
+  // Save exit frame information to enable stack walking.
+  StoreToOffset(kWord, exit_frame_fp, THR,
+                target::Thread::top_exit_frame_info_offset());
+
+  // Mark that the thread is executing native code.
+  StoreToOffset(kWord, destination_address, THR,
+                target::Thread::vm_tag_offset());
+  LoadImmediate(state, target::Thread::native_execution_state());
+  StoreToOffset(kWord, state, THR, target::Thread::execution_state_offset());
+
+  if (enter_safepoint) {
+    EnterSafepoint(addr, state);
+  }
+}
+
+void Assembler::ExitSafepoint(Register addr, Register state) {
   if (FLAG_use_slow_path || TargetCPUFeatures::arm_version() == ARMv5TE) {
     ExitSafepointSlowly();
   } else {
@@ -608,6 +619,31 @@
 
     Bind(&done);
   }
+}
+
+void Assembler::ExitSafepointSlowly() {
+  ldr(TMP, Address(THR, target::Thread::exit_safepoint_stub_offset()));
+  ldr(TMP, FieldAddress(TMP, target::Code::entry_point_offset()));
+  blx(TMP);
+}
+
+void Assembler::TransitionNativeToGenerated(Register addr,
+                                            Register state,
+                                            bool exit_safepoint) {
+  if (exit_safepoint) {
+    ExitSafepoint(addr, state);
+  } else {
+#if defined(DEBUG)
+    // Ensure we've already left the safepoint.
+    LoadImmediate(state, 1 << target::Thread::safepoint_state_inside_bit());
+    ldr(TMP, Address(THR, target::Thread::safepoint_state_offset()));
+    ands(TMP, TMP, Operand(state));  // Is-at-safepoint is the LSB.
+    Label ok;
+    b(&ok, ZERO);
+    Breakpoint();
+    Bind(&ok);
+#endif
+  }
 
   // Mark that the thread is executing Dart code.
   LoadImmediate(state, target::Thread::vm_tag_compiled_id());
@@ -621,12 +657,6 @@
                 target::Thread::top_exit_frame_info_offset());
 }
 
-void Assembler::ExitSafepointSlowly() {
-  ldr(TMP, Address(THR, target::Thread::exit_safepoint_stub_offset()));
-  ldr(TMP, FieldAddress(TMP, target::Code::entry_point_offset()));
-  blx(TMP);
-}
-
 void Assembler::clrex() {
   ASSERT(TargetCPUFeatures::arm_version() != ARMv5TE);
   int32_t encoding = (kSpecialCondition << kConditionShift) | B26 | B24 | B22 |
diff --git a/runtime/vm/compiler/assembler/assembler_arm.h b/runtime/vm/compiler/assembler/assembler_arm.h
index e72b34a..7a55232 100644
--- a/runtime/vm/compiler/assembler/assembler_arm.h
+++ b/runtime/vm/compiler/assembler/assembler_arm.h
@@ -399,6 +399,7 @@
 
   // Data-processing instructions.
   void and_(Register rd, Register rn, Operand o, Condition cond = AL);
+  void ands(Register rd, Register rn, Operand o, Condition cond = AL);
 
   void eor(Register rd, Register rn, Operand o, Condition cond = AL);
 
@@ -535,8 +536,13 @@
   void TransitionGeneratedToNative(Register destination_address,
                                    Register exit_frame_fp,
                                    Register scratch0,
-                                   Register scratch1);
-  void TransitionNativeToGenerated(Register scratch0, Register scratch1);
+                                   Register scratch1,
+                                   bool enter_safepoint);
+  void TransitionNativeToGenerated(Register scratch0,
+                                   Register scratch1,
+                                   bool exit_safepoint);
+  void EnterSafepoint(Register scratch0, Register scratch1);
+  void ExitSafepoint(Register scratch0, Register scratch1);
 
   // Miscellaneous instructions.
   void clrex();
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.cc b/runtime/vm/compiler/assembler/assembler_arm64.cc
index 42429b4..6321133 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.cc
+++ b/runtime/vm/compiler/assembler/assembler_arm64.cc
@@ -56,6 +56,11 @@
   buffer_.Emit<int32_t>(value);
 }
 
+void Assembler::Emit64(int64_t value) {
+  AssemblerBuffer::EnsureCapacity ensured(&buffer_);
+  buffer_.Emit<int64_t>(value);
+}
+
 int32_t Assembler::BindImm19Branch(int64_t position, int64_t dest) {
   if (use_far_branches() && !CanEncodeImm19BranchOffset(dest)) {
     // Far branches are enabled, and we can't encode the branch offset in
@@ -1301,21 +1306,10 @@
   LeaveFrame();
 }
 
-void Assembler::TransitionGeneratedToNative(Register destination,
-                                            Register new_exit_frame,
-                                            Register state) {
+void Assembler::EnterSafepoint(Register state) {
   Register addr = TMP2;
   ASSERT(addr != state);
 
-  // Save exit frame information to enable stack walking.
-  StoreToOffset(new_exit_frame, THR,
-                target::Thread::top_exit_frame_info_offset());
-
-  // Mark that the thread is executing native code.
-  StoreToOffset(destination, THR, target::Thread::vm_tag_offset());
-  LoadImmediate(state, target::Thread::native_execution_state());
-  StoreToOffset(state, THR, target::Thread::execution_state_offset());
-
   Label slow_path, done, retry;
   if (!FLAG_use_slow_path) {
     movz(addr, Immediate(target::Thread::safepoint_state_offset()), 0);
@@ -1339,7 +1333,25 @@
   Bind(&done);
 }
 
-void Assembler::TransitionNativeToGenerated(Register state) {
+void Assembler::TransitionGeneratedToNative(Register destination,
+                                            Register new_exit_frame,
+                                            Register state,
+                                            bool enter_safepoint) {
+  // Save exit frame information to enable stack walking.
+  StoreToOffset(new_exit_frame, THR,
+                target::Thread::top_exit_frame_info_offset());
+
+  // Mark that the thread is executing native code.
+  StoreToOffset(destination, THR, target::Thread::vm_tag_offset());
+  LoadImmediate(state, target::Thread::native_execution_state());
+  StoreToOffset(state, THR, target::Thread::execution_state_offset());
+
+  if (enter_safepoint) {
+    EnterSafepoint(state);
+  }
+}
+
+void Assembler::ExitSafepoint(Register state) {
   Register addr = TMP2;
   ASSERT(addr != state);
 
@@ -1364,6 +1376,22 @@
   blr(addr);
 
   Bind(&done);
+}
+
+void Assembler::TransitionNativeToGenerated(Register state,
+                                            bool exit_safepoint) {
+  if (exit_safepoint) {
+    ExitSafepoint(state);
+  } else {
+#if defined(DEBUG)
+    // Ensure we've already left the safepoint.
+    ldr(TMP, Address(THR, target::Thread::safepoint_state_offset()));
+    Label ok;
+    tbz(&ok, TMP, target::Thread::safepoint_state_inside_bit());
+    Breakpoint();
+    Bind(&ok);
+#endif
+  }
 
   // Mark that the thread is executing Dart code.
   LoadImmediate(state, target::Thread::vm_tag_compiled_id());
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.h b/runtime/vm/compiler/assembler/assembler_arm64.h
index 749b796..e8c565e 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.h
+++ b/runtime/vm/compiler/assembler/assembler_arm64.h
@@ -513,6 +513,7 @@
 
   // Emit data (e.g encoded instruction or immediate) in instruction stream.
   void Emit(int32_t value);
+  void Emit64(int64_t value);
 
   // On some other platforms, we draw a distinction between safe and unsafe
   // smis.
@@ -1547,8 +1548,11 @@
 
   void TransitionGeneratedToNative(Register destination_address,
                                    Register new_exit_frame,
-                                   Register scratch);
-  void TransitionNativeToGenerated(Register scratch);
+                                   Register scratch,
+                                   bool enter_safepoint);
+  void TransitionNativeToGenerated(Register scratch, bool exit_safepoint);
+  void EnterSafepoint(Register scratch);
+  void ExitSafepoint(Register scratch);
 
   void CheckCodePointer();
   void RestoreCodePointer();
diff --git a/runtime/vm/compiler/assembler/assembler_ia32.cc b/runtime/vm/compiler/assembler/assembler_ia32.cc
index 84c87b1..5834616 100644
--- a/runtime/vm/compiler/assembler/assembler_ia32.cc
+++ b/runtime/vm/compiler/assembler/assembler_ia32.cc
@@ -2141,18 +2141,7 @@
   }
 }
 
-void Assembler::TransitionGeneratedToNative(Register destination_address,
-                                            Register new_exit_frame,
-                                            Register scratch) {
-  // Save exit frame information to enable stack walking.
-  movl(Address(THR, target::Thread::top_exit_frame_info_offset()),
-       new_exit_frame);
-
-  // Mark that the thread is executing native code.
-  movl(VMTagAddress(), destination_address);
-  movl(Address(THR, target::Thread::execution_state_offset()),
-       Immediate(target::Thread::native_execution_state()));
-
+void Assembler::EnterSafepoint(Register scratch) {
   // Compare and swap the value at Thread::safepoint_state from unacquired to
   // acquired. On success, jump to 'success'; otherwise, fallthrough.
   Label done;
@@ -2175,7 +2164,25 @@
   Bind(&done);
 }
 
-void Assembler::TransitionNativeToGenerated(Register scratch) {
+void Assembler::TransitionGeneratedToNative(Register destination_address,
+                                            Register new_exit_frame,
+                                            Register scratch,
+                                            bool enter_safepoint) {
+  // Save exit frame information to enable stack walking.
+  movl(Address(THR, target::Thread::top_exit_frame_info_offset()),
+       new_exit_frame);
+
+  // Mark that the thread is executing native code.
+  movl(VMTagAddress(), destination_address);
+  movl(Address(THR, target::Thread::execution_state_offset()),
+       Immediate(target::Thread::native_execution_state()));
+
+  if (enter_safepoint) {
+    EnterSafepoint(scratch);
+  }
+}
+
+void Assembler::ExitSafepoint(Register scratch) {
   // Compare and swap the value at Thread::safepoint_state from acquired to
   // unacquired. On success, jump to 'success'; otherwise, fallthrough.
   Label done;
@@ -2196,6 +2203,23 @@
   call(scratch);
 
   Bind(&done);
+}
+
+void Assembler::TransitionNativeToGenerated(Register scratch,
+                                            bool exit_safepoint) {
+  if (exit_safepoint) {
+    ExitSafepoint(scratch);
+  } else {
+#if defined(DEBUG)
+    // Ensure we've already left the safepoint.
+    movl(scratch, Address(THR, target::Thread::safepoint_state_offset()));
+    andl(scratch, Immediate(1 << target::Thread::safepoint_state_inside_bit()));
+    Label ok;
+    j(ZERO, &ok);
+    Breakpoint();
+    Bind(&ok);
+#endif
+  }
 
   // Mark that the thread is executing Dart code.
   movl(Assembler::VMTagAddress(),
diff --git a/runtime/vm/compiler/assembler/assembler_ia32.h b/runtime/vm/compiler/assembler/assembler_ia32.h
index d5193ef..586b7dd 100644
--- a/runtime/vm/compiler/assembler/assembler_ia32.h
+++ b/runtime/vm/compiler/assembler/assembler_ia32.h
@@ -664,11 +664,13 @@
   // Require a temporary register 'tmp'.
   // Clobber all non-CPU registers (e.g. XMM registers and the "FPU stack").
   // However XMM0 is saved for convenience.
-
   void TransitionGeneratedToNative(Register destination_address,
                                    Register new_exit_frame,
-                                   Register scratch);
-  void TransitionNativeToGenerated(Register scratch);
+                                   Register scratch,
+                                   bool enter_safepoint);
+  void TransitionNativeToGenerated(Register scratch, bool exit_safepoint);
+  void EnterSafepoint(Register scratch);
+  void ExitSafepoint(Register scratch);
 
   // Create a frame for calling into runtime that preserves all volatile
   // registers.  Frame's RSP is guaranteed to be correctly aligned and
diff --git a/runtime/vm/compiler/assembler/assembler_x64.cc b/runtime/vm/compiler/assembler/assembler_x64.cc
index 053bff1..e5f9e7d 100644
--- a/runtime/vm/compiler/assembler/assembler_x64.cc
+++ b/runtime/vm/compiler/assembler/assembler_x64.cc
@@ -160,16 +160,7 @@
   EmitUint8(0xC0 + (dst & 0x07));
 }
 
-void Assembler::TransitionGeneratedToNative(Register destination_address,
-                                            Register new_exit_frame) {
-  // Save exit frame information to enable stack walking.
-  movq(Address(THR, target::Thread::top_exit_frame_info_offset()),
-       new_exit_frame);
-
-  movq(Assembler::VMTagAddress(), destination_address);
-  movq(Address(THR, target::Thread::execution_state_offset()),
-       Immediate(target::Thread::native_execution_state()));
-
+void Assembler::EnterSafepoint() {
   // Compare and swap the value at Thread::safepoint_state from unacquired to
   // acquired. If the CAS fails, go to a slow-path stub.
   Label done;
@@ -186,14 +177,32 @@
 
   movq(TMP, Address(THR, target::Thread::enter_safepoint_stub_offset()));
   movq(TMP, FieldAddress(TMP, target::Code::entry_point_offset()));
-  // Use call instead of CFunctionCall to prevent having to clean up shadow
-  // space afterwards. This is possible because safepoint stub has no arguments.
+
+  // Use call instead of CallCFunction to avoid having to clean up shadow space
+  // afterwards. This is possible because the safepoint stub does not use the
+  // shadow space as scratch and has no arguments.
   call(TMP);
 
   Bind(&done);
 }
 
-void Assembler::TransitionNativeToGenerated() {
+void Assembler::TransitionGeneratedToNative(Register destination_address,
+                                            Register new_exit_frame,
+                                            bool enter_safepoint) {
+  // Save exit frame information to enable stack walking.
+  movq(Address(THR, target::Thread::top_exit_frame_info_offset()),
+       new_exit_frame);
+
+  movq(Assembler::VMTagAddress(), destination_address);
+  movq(Address(THR, target::Thread::execution_state_offset()),
+       Immediate(target::Thread::native_execution_state()));
+
+  if (enter_safepoint) {
+    EnterSafepoint();
+  }
+}
+
+void Assembler::LeaveSafepoint() {
   // Compare and swap the value at Thread::safepoint_state from acquired to
   // unacquired. On success, jump to 'success'; otherwise, fallthrough.
   Label done;
@@ -210,11 +219,29 @@
 
   movq(TMP, Address(THR, target::Thread::exit_safepoint_stub_offset()));
   movq(TMP, FieldAddress(TMP, target::Code::entry_point_offset()));
-  // Use call instead of CFunctionCall to prevent having to clean up shadow
-  // space afterwards. This is possible because safepoint stub has no arguments.
+
+  // Use call instead of CallCFunction to avoid having to clean up shadow space
+  // afterwards. This is possible because the safepoint stub does not use the
+  // shadow space as scratch and has no arguments.
   call(TMP);
 
   Bind(&done);
+}
+
+void Assembler::TransitionNativeToGenerated(bool leave_safepoint) {
+  if (leave_safepoint) {
+    LeaveSafepoint();
+  } else {
+#if defined(DEBUG)
+    // Ensure we've already left the safepoint.
+    movq(TMP, Address(THR, target::Thread::safepoint_state_offset()));
+    andq(TMP, Immediate((1 << target::Thread::safepoint_state_inside_bit())));
+    Label ok;
+    j(ZERO, &ok);
+    Breakpoint();
+    Bind(&ok);
+#endif
+  }
 
   movq(Assembler::VMTagAddress(),
        Immediate(target::Thread::vm_tag_compiled_id()));
diff --git a/runtime/vm/compiler/assembler/assembler_x64.h b/runtime/vm/compiler/assembler/assembler_x64.h
index 3636540..b519aae 100644
--- a/runtime/vm/compiler/assembler/assembler_x64.h
+++ b/runtime/vm/compiler/assembler/assembler_x64.h
@@ -306,9 +306,12 @@
 
   void setcc(Condition condition, ByteRegister dst);
 
+  void EnterSafepoint();
+  void LeaveSafepoint();
   void TransitionGeneratedToNative(Register destination_address,
-                                   Register new_exit_frame);
-  void TransitionNativeToGenerated();
+                                   Register new_exit_frame,
+                                   bool enter_safepoint);
+  void TransitionNativeToGenerated(bool leave_safepoint);
 
 // Register-register, register-address and address-register instructions.
 #define RR(width, name, ...)                                                   \
diff --git a/runtime/vm/compiler/assembler/disassembler.cc b/runtime/vm/compiler/assembler/disassembler.cc
index e39e721..b7aa53d 100644
--- a/runtime/vm/compiler/assembler/disassembler.cc
+++ b/runtime/vm/compiler/assembler/disassembler.cc
@@ -156,9 +156,11 @@
 void Disassembler::Disassemble(uword start,
                                uword end,
                                DisassemblyFormatter* formatter,
-                               const Code& code) {
-  const Code::Comments& comments =
-      code.IsNull() ? Code::Comments::New(0) : code.comments();
+                               const Code& code,
+                               const Code::Comments* comments) {
+  if (comments == nullptr) {
+    comments = code.IsNull() ? &Code::Comments::New(0) : &code.comments();
+  }
   ASSERT(formatter != NULL);
   char hex_buffer[kHexadecimalBufferSize];  // Instruction in hexadecimal form.
   char human_buffer[kUserReadableBufferSize];  // Human-readable instruction.
@@ -169,14 +171,14 @@
   while (pc < end) {
     const intptr_t offset = pc - start;
     const intptr_t old_comment_finger = comment_finger;
-    while (comment_finger < comments.Length() &&
-           comments.PCOffsetAt(comment_finger) <= offset) {
+    while (comment_finger < comments->Length() &&
+           comments->PCOffsetAt(comment_finger) <= offset) {
       formatter->Print(
           "        ;; %s\n",
-          String::Handle(comments.CommentAt(comment_finger)).ToCString());
+          String::Handle(comments->CommentAt(comment_finger)).ToCString());
       comment_finger++;
     }
-    if (old_comment_finger != comment_finger) {
+    if (old_comment_finger != comment_finger && !code.IsNull()) {
       char str[4000];
       BufferFormatter f(str, sizeof(str));
       // Comment emitted, emit inlining information.
diff --git a/runtime/vm/compiler/assembler/disassembler.h b/runtime/vm/compiler/assembler/disassembler.h
index a58339a..e210686 100644
--- a/runtime/vm/compiler/assembler/disassembler.h
+++ b/runtime/vm/compiler/assembler/disassembler.h
@@ -118,7 +118,8 @@
   static void Disassemble(uword start,
                           uword end,
                           DisassemblyFormatter* formatter,
-                          const Code& code);
+                          const Code& code,
+                          const Code::Comments* comments = nullptr);
 
   static void Disassemble(uword start,
                           uword end,
@@ -126,6 +127,13 @@
     Disassemble(start, end, formatter, Code::Handle());
   }
 
+  static void Disassemble(uword start,
+                          uword end,
+                          DisassemblyFormatter* formatter,
+                          const Code::Comments* comments) {
+    Disassemble(start, end, formatter, Code::Handle(), comments);
+  }
+
   static void Disassemble(uword start, uword end, const Code& code) {
 #if !defined(PRODUCT) || defined(FORCE_INCLUDE_DISASSEMBLER)
     DisassembleToStdout stdout_formatter;
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
index 1e06558..57915ca 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
@@ -1108,8 +1108,8 @@
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
   const ArgumentsDescriptor args_desc(arguments_descriptor);
   const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
-      zone(),
-      MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
+      zone(), MegamorphicCacheTable::LookupOriginal(thread(), name,
+                                                    arguments_descriptor));
 
   __ Comment("MegamorphicCall");
   // Load receiver into R0.
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
index 116c2a1..192ec70 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
@@ -1074,8 +1074,8 @@
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
   const ArgumentsDescriptor args_desc(arguments_descriptor);
   const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
-      zone(),
-      MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
+      zone(), MegamorphicCacheTable::LookupOriginal(thread(), name,
+                                                    arguments_descriptor));
 
   __ Comment("MegamorphicCall");
   // Load receiver into R0.
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
index 006b750..3e1bd1f 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
@@ -969,8 +969,8 @@
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
   const ArgumentsDescriptor args_desc(arguments_descriptor);
   const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
-      zone(),
-      MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
+      zone(), MegamorphicCacheTable::LookupOriginal(thread(), name,
+                                                    arguments_descriptor));
 
   __ Comment("MegamorphicCall");
   // Load receiver into EBX.
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
index 23ae178..ac328e6 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
@@ -1094,8 +1094,8 @@
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
   const ArgumentsDescriptor args_desc(arguments_descriptor);
   const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
-      zone(),
-      MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
+      zone(), MegamorphicCacheTable::LookupOriginal(thread(), name,
+                                                    arguments_descriptor));
   __ Comment("MegamorphicCall");
   // Load receiver into RDX.
   __ movq(RDX, compiler::Address(RSP, (args_desc.Count() - 1) * kWordSize));
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 8cbf68a..7c47f30 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -774,9 +774,12 @@
   }
 
   if (ic_data.is_megamorphic()) {
-    const MegamorphicCache& cache =
-        MegamorphicCache::Handle(zone, ic_data.AsMegamorphicCache());
-    SafepointMutexLocker ml(Isolate::Current()->megamorphic_mutex());
+    const String& name = String::Handle(zone, ic_data.target_name());
+    const Array& descriptor =
+        Array::Handle(zone, ic_data.arguments_descriptor());
+    const MegamorphicCache& cache = MegamorphicCache::Handle(
+        zone, MegamorphicCacheTable::LookupClone(Thread::Current(), name,
+                                                 descriptor));
     MegamorphicCacheEntries entries(Array::Handle(zone, cache.buckets()));
     for (intptr_t i = 0; i < entries.Length(); i++) {
       const intptr_t id =
@@ -3981,10 +3984,10 @@
     __ Bind(compiler->GetJumpLabel(this));
   }
 
-// In the AOT compiler we want to reduce code size, so generate no
-// fall-through code in [FlowGraphCompiler::CompileGraph()].
-// (As opposed to here where we don't check for the return value of
-// [Intrinsify]).
+  // In the AOT compiler we want to reduce code size, so generate no
+  // fall-through code in [FlowGraphCompiler::CompileGraph()].
+  // (As opposed to here where we don't check for the return value of
+  // [Intrinsify]).
   const Function& function = compiler->parsed_function().function();
   if (function.IsDynamicFunction()) {
     compiler->SpecialStatsBegin(CombinedCodeStatistics::kTagCheckedEntry);
diff --git a/runtime/vm/compiler/backend/il_arm.cc b/runtime/vm/compiler/backend/il_arm.cc
index ace771a..e747e3e 100644
--- a/runtime/vm/compiler/backend/il_arm.cc
+++ b/runtime/vm/compiler/backend/il_arm.cc
@@ -1038,12 +1038,13 @@
   // Update information in the thread object and enter a safepoint.
   const Register tmp = locs()->temp(1).reg();
   if (CanExecuteGeneratedCodeInSafepoint()) {
-    __ TransitionGeneratedToNative(branch, FPREG, saved_fp, tmp);
+    __ TransitionGeneratedToNative(branch, FPREG, saved_fp, tmp,
+                                   /*enter_safepoint=*/true);
 
     __ blx(branch);
 
     // Update information in the thread object and leave the safepoint.
-    __ TransitionNativeToGenerated(saved_fp, tmp);
+    __ TransitionNativeToGenerated(saved_fp, tmp, /*leave_safepoint=*/true);
   } else {
     // We cannot trust that this code will be executable within a safepoint.
     // Therefore we delegate the responsibility of entering/exiting the
@@ -1091,9 +1092,11 @@
 
   __ Pop(vm_tag_reg);
 
-  // Reset the exit frame info to
-  // old_exit_frame_reg *before* entering the safepoint.
-  __ TransitionGeneratedToNative(vm_tag_reg, old_exit_frame_reg, tmp, tmp1);
+  // If we were called by a trampoline, it will enter the safepoint on our
+  // behalf.
+  __ TransitionGeneratedToNative(
+      vm_tag_reg, old_exit_frame_reg, tmp, tmp1,
+      /*enter_safepoint=*/!NativeCallbackTrampolines::Enabled());
 
   __ PopNativeCalleeSavedRegisters();
 
@@ -1160,18 +1163,20 @@
 
   __ PushNativeCalleeSavedRegisters();
 
-  // Load the thread object.
-  // TODO(35765): Fix linking issue on AOT.
-  // TOOD(35934): Exclude native callbacks from snapshots.
+  // Load the thread object. If we were called by a trampoline, the thread is
+  // already loaded.
   //
-  // Create another frame to align the frame before continuing in "native" code.
-  {
+  // TODO(35765): Fix linking issue on AOT.
+  if (!NativeCallbackTrampolines::Enabled()) {
+    // Create another frame to align the frame before continuing in "native"
+    // code.
     __ EnterFrame(1 << FP, 0);
     __ ReserveAlignedFrameSpace(0);
 
+    __ LoadImmediate(R0, callback_id_);
     __ LoadImmediate(
-        R0, reinterpret_cast<int64_t>(DLRT_GetThreadForNativeCallback));
-    __ blx(R0);
+        R1, reinterpret_cast<int64_t>(DLRT_GetThreadForNativeCallback));
+    __ blx(R1);
     __ mov(THR, compiler::Operand(R0));
 
     __ LeaveFrame(1 << FP);
@@ -1189,28 +1194,22 @@
   __ LoadImmediate(R0, 0);
   __ StoreToOffset(kWord, R0, THR, top_resource_offset);
 
-  // Save top exit frame info. Don't set it to 0 yet --
-  // TransitionNativeToGenerated will handle that *after* leaving the safepoint.
+  // Save top exit frame info. Don't set it to 0 yet,
+  // TransitionNativeToGenerated will handle that.
   __ LoadFromOffset(kWord, R0, THR,
                     compiler::target::Thread::top_exit_frame_info_offset());
   __ Push(R0);
 
   __ EmitEntryFrameVerification(R0);
 
-  __ TransitionNativeToGenerated(/*scratch0=*/R0, /*scratch1=*/R1);
+  // Either DLRT_GetThreadForNativeCallback or the callback trampoline (caller)
+  // will leave the safepoint for us.
+  __ TransitionNativeToGenerated(/*scratch0=*/R0, /*scratch1=*/R1,
+                                 /*exit_safepoint=*/false);
 
   // Now that the safepoint has ended, we can touch Dart objects without
   // handles.
 
-  // Otherwise we'll clobber the argument sent from the caller.
-  ASSERT(CallingConventions::ArgumentRegisters[0] != TMP &&
-         CallingConventions::ArgumentRegisters[0] != TMP2 &&
-         CallingConventions::ArgumentRegisters[0] != R1);
-  __ LoadImmediate(CallingConventions::ArgumentRegisters[0], callback_id_);
-  __ LoadFromOffset(kWord, R1, THR,
-                    compiler::target::Thread::verify_callback_entry_offset());
-  __ blx(R1);
-
   // Load the code object.
   __ LoadFromOffset(kWord, R0, THR,
                     compiler::target::Thread::callback_code_offset());
diff --git a/runtime/vm/compiler/backend/il_arm64.cc b/runtime/vm/compiler/backend/il_arm64.cc
index 59f3811..ced71dd 100644
--- a/runtime/vm/compiler/backend/il_arm64.cc
+++ b/runtime/vm/compiler/backend/il_arm64.cc
@@ -914,7 +914,8 @@
 
   if (CanExecuteGeneratedCodeInSafepoint()) {
     // Update information in the thread object and enter a safepoint.
-    __ TransitionGeneratedToNative(branch, FPREG, temp);
+    __ TransitionGeneratedToNative(branch, FPREG, temp,
+                                   /*enter_safepoint=*/true);
 
     // We are entering runtime code, so the C stack pointer must be restored
     // from the stack limit to the top of the stack.
@@ -926,7 +927,7 @@
     __ mov(SP, CSP);
 
     // Update information in the thread object and leave the safepoint.
-    __ TransitionNativeToGenerated(temp);
+    __ TransitionNativeToGenerated(temp, /*leave_safepoint=*/true);
   } else {
     // We cannot trust that this code will be executable within a safepoint.
     // Therefore we delegate the responsibility of entering/exiting the
@@ -977,9 +978,14 @@
 
   __ Pop(vm_tag_reg);
 
-  // Reset the exit frame info to
-  // old_exit_frame_reg *before* entering the safepoint.
-  __ TransitionGeneratedToNative(vm_tag_reg, old_exit_frame_reg, tmp);
+  // Reset the exit frame info to old_exit_frame_reg *before* entering the
+  // safepoint.
+  //
+  // If we were called by a trampoline, it will enter the safepoint on our
+  // behalf.
+  __ TransitionGeneratedToNative(
+      vm_tag_reg, old_exit_frame_reg, tmp,
+      /*enter_safepoint=*/!NativeCallbackTrampolines::Enabled());
 
   __ PopNativeCalleeSavedRegisters();
 
@@ -1044,18 +1050,20 @@
 
   __ PushNativeCalleeSavedRegisters();
 
-  // Load the thread object.
-  // TODO(35765): Fix linking issue on AOT.
-  // TOOD(35934): Exclude native callbacks from snapshots.
+  // Load the thread object. If we were called by a trampoline, the thread is
+  // already loaded.
   //
-  // Create another frame to align the frame before continuing in "native" code.
-  {
+  // TODO(35765): Fix linking issue on AOT.
+  if (!NativeCallbackTrampolines::Enabled()) {
+    // Create another frame to align the frame before continuing in "native"
+    // code.
     __ EnterFrame(0);
     __ ReserveAlignedFrameSpace(0);
 
+    __ LoadImmediate(R0, callback_id_);
     __ LoadImmediate(
-        R0, reinterpret_cast<int64_t>(DLRT_GetThreadForNativeCallback));
-    __ blr(R0);
+        R1, reinterpret_cast<int64_t>(DLRT_GetThreadForNativeCallback));
+    __ blr(R1);
     __ mov(THR, R0);
 
     __ LeaveFrame();
@@ -1075,8 +1083,8 @@
   __ Push(R0);
   __ StoreToOffset(ZR, THR, compiler::target::Thread::top_resource_offset());
 
-  // Save the top exit frame info. We don't set it to 0 yet in Thread because we
-  // need to leave the safepoint first.
+  // Save the top exit frame info. We don't set it to 0 yet:
+  // TransitionNativeToGenerated will handle that.
   __ LoadFromOffset(R0, THR,
                     compiler::target::Thread::top_exit_frame_info_offset());
   __ Push(R0);
@@ -1085,22 +1093,13 @@
   // correct offset from FP.
   __ EmitEntryFrameVerification();
 
-  // TransitionNativeToGenerated will reset top exit frame info to 0 *after*
-  // leaving the safepoint.
-  __ TransitionNativeToGenerated(R0);
+  // Either DLRT_GetThreadForNativeCallback or the callback trampoline (caller)
+  // will leave the safepoint for us.
+  __ TransitionNativeToGenerated(R0, /*exit_safepoint=*/false);
 
   // Now that the safepoint has ended, we can touch Dart objects without
   // handles.
 
-  // Otherwise we'll clobber the argument sent from the caller.
-  ASSERT(CallingConventions::ArgumentRegisters[0] != TMP &&
-         CallingConventions::ArgumentRegisters[0] != TMP2 &&
-         CallingConventions::ArgumentRegisters[0] != R1);
-  __ LoadImmediate(CallingConventions::ArgumentRegisters[0], callback_id_);
-  __ LoadFromOffset(R1, THR,
-                    compiler::target::Thread::verify_callback_entry_offset());
-  __ blr(R1);
-
   // Load the code object.
   __ LoadFromOffset(R0, THR, compiler::target::Thread::callback_code_offset());
   __ LoadFieldFromOffset(R0, R0,
diff --git a/runtime/vm/compiler/backend/il_ia32.cc b/runtime/vm/compiler/backend/il_ia32.cc
index 487ec60..1729f42 100644
--- a/runtime/vm/compiler/backend/il_ia32.cc
+++ b/runtime/vm/compiler/backend/il_ia32.cc
@@ -174,7 +174,12 @@
 
   // This will reset the exit frame info to old_exit_frame_reg *before* entering
   // the safepoint.
-  __ TransitionGeneratedToNative(vm_tag_reg, old_exit_frame_reg, tmp);
+  //
+  // If we were called by a trampoline, it will enter the safepoint on our
+  // behalf.
+  __ TransitionGeneratedToNative(
+      vm_tag_reg, old_exit_frame_reg, tmp,
+      /*enter_safepoint=*/!NativeCallbackTrampolines::Enabled());
 
   // Move XMM0 into ST0 if needed.
   if (return_in_st0) {
@@ -954,9 +959,10 @@
   __ movl(compiler::Address(FPREG, kSavedCallerPcSlotFromFp * kWordSize), tmp);
 
   if (CanExecuteGeneratedCodeInSafepoint()) {
-    __ TransitionGeneratedToNative(branch, FPREG, tmp);
+    __ TransitionGeneratedToNative(branch, FPREG, tmp,
+                                   /*enter_safepoint=*/true);
     __ call(branch);
-    __ TransitionNativeToGenerated(tmp);
+    __ TransitionNativeToGenerated(tmp, /*leave_safepoint=*/true);
   } else {
     // We cannot trust that this code will be executable within a safepoint.
     // Therefore we delegate the responsibility of entering/exiting the
@@ -1030,13 +1036,14 @@
   __ pushl(EDI);
 
   // Load the thread object.
-  // TOOD(35934): Exclude native callbacks from snapshots.
   // Linking in AOT is not relevant here since we don't support AOT for IA32.
   // Create another frame to align the frame before continuing in "native" code.
-  {
+  // If we were called by a trampoline, it has already loaded the thread.
+  if (!NativeCallbackTrampolines::Enabled()) {
     __ EnterFrame(0);
-    __ ReserveAlignedFrameSpace(0);
+    __ ReserveAlignedFrameSpace(compiler::target::kWordSize);
 
+    __ movl(compiler::Address(SPREG, 0), compiler::Immediate(callback_id_));
     __ movl(EAX, compiler::Immediate(reinterpret_cast<int64_t>(
                      DLRT_GetThreadForNativeCallback)));
     __ call(EAX);
@@ -1064,18 +1071,11 @@
   // correct offset from FP.
   __ EmitEntryFrameVerification();
 
-  // TransitionNativeToGenerated will reset top exit frame info to 0 *after*
-  // leaving the safepoint.
-  __ TransitionNativeToGenerated(EAX);
+  // Either DLRT_GetThreadForNativeCallback or the callback trampoline (caller)
+  // will leave the safepoint for us.
+  __ TransitionNativeToGenerated(EAX, /*exit_safepoint=*/false);
 
   // Now that the safepoint has ended, we can hold Dart objects with bare hands.
-  // TODO(35934): fix linking issue
-  __ pushl(compiler::Immediate(callback_id_));
-  __ movl(EAX,
-          compiler::Address(
-              THR, compiler::target::Thread::verify_callback_entry_offset()));
-  __ call(EAX);
-  __ popl(EAX);
 
   // Load the code object.
   __ movl(EAX, compiler::Address(
diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc
index 598ff98..d65b984 100644
--- a/runtime/vm/compiler/backend/il_x64.cc
+++ b/runtime/vm/compiler/backend/il_x64.cc
@@ -160,9 +160,11 @@
 
   __ popq(vm_tag_reg);
 
-  // TransitionGeneratedToNative will reset the exit frame info to
-  // old_exit_frame_reg *before* entering the safepoint.
-  __ TransitionGeneratedToNative(vm_tag_reg, old_exit_frame_reg);
+  // If we were called by a trampoline, it will enter the safepoint on our
+  // behalf.
+  __ TransitionGeneratedToNative(
+      vm_tag_reg, old_exit_frame_reg,
+      /*enter_safepoint=*/!NativeCallbackTrampolines::Enabled());
 
   // Restore C++ ABI callee-saved registers.
   __ PopRegisters(CallingConventions::kCalleeSaveCpuRegisters,
@@ -967,12 +969,13 @@
 
   if (CanExecuteGeneratedCodeInSafepoint()) {
     // Update information in the thread object and enter a safepoint.
-    __ TransitionGeneratedToNative(target_address, FPREG);
+    __ TransitionGeneratedToNative(target_address, FPREG,
+                                   /*enter_safepoint=*/true);
 
     __ CallCFunction(target_address);
 
     // Update information in the thread object and leave the safepoint.
-    __ TransitionNativeToGenerated();
+    __ TransitionNativeToGenerated(/*leave_safepoint=*/true);
   } else {
     // We cannot trust that this code will be executable within a safepoint.
     // Therefore we delegate the responsibility of entering/exiting the
@@ -1054,16 +1057,18 @@
 
   // Load the thread object.
   // TODO(35765): Fix linking issue on AOT.
-  // TOOD(35934): Exclude native callbacks from snapshots.
   //
   // Create another frame to align the frame before continuing in "native" code.
-  {
+  // If we were called by a trampoline, it has already loaded the thread.
+  if (!NativeCallbackTrampolines::Enabled()) {
     __ EnterFrame(0);
     __ ReserveAlignedFrameSpace(0);
 
+    COMPILE_ASSERT(RAX != CallingConventions::kArg1Reg);
+    __ movq(CallingConventions::kArg1Reg, compiler::Immediate(callback_id_));
     __ movq(RAX, compiler::Immediate(reinterpret_cast<int64_t>(
                      DLRT_GetThreadForNativeCallback)));
-    __ call(RAX);
+    __ CallCFunction(RAX);
     __ movq(THR, RAX);
 
     __ LeaveFrame();
@@ -1088,19 +1093,9 @@
   // correct offset from FP.
   __ EmitEntryFrameVerification();
 
-  // TransitionNativeToGenerated will reset top exit frame info to 0 *after*
-  // leaving the safepoint.
-  __ TransitionNativeToGenerated();
-
-  // Now that the safepoint has ended, we can touch Dart objects without
-  // handles.
-  // Otherwise we'll clobber the argument sent from the caller.
-  COMPILE_ASSERT(RAX != CallingConventions::kArg1Reg);
-  __ movq(CallingConventions::kArg1Reg, compiler::Immediate(callback_id_));
-  __ movq(RAX,
-          compiler::Address(
-              THR, compiler::target::Thread::verify_callback_entry_offset()));
-  __ call(RAX);
+  // Either DLRT_GetThreadForNativeCallback or the callback trampoline (caller)
+  // will leave the safepoint for us.
+  __ TransitionNativeToGenerated(/*exit_safepoint=*/false);
 
   // Load the code object.
   __ movq(RAX, compiler::Address(
diff --git a/runtime/vm/compiler/backend/locations.h b/runtime/vm/compiler/backend/locations.h
index 198e936..638fc84 100644
--- a/runtime/vm/compiler/backend/locations.h
+++ b/runtime/vm/compiler/backend/locations.h
@@ -608,6 +608,26 @@
 #endif
   }
 
+#if !defined(TARGET_ARCH_DBC)
+  void AddAllArgumentRegisters() {
+    // All (native) arguments are passed on the stack in IA32.
+#if !defined(TARGET_ARCH_IA32)
+    for (intptr_t i = 0; i < kNumberOfCpuRegisters; ++i) {
+      const Register reg = static_cast<Register>(i);
+      if (IsArgumentRegister(reg)) {
+        Add(Location::RegisterLocation(reg));
+      }
+    }
+    for (intptr_t i = 0; i < kNumberOfFpuRegisters; ++i) {
+      const FpuRegister reg = static_cast<FpuRegister>(i);
+      if (IsFpuArgumentRegister(reg)) {
+        Add(Location::FpuRegisterLocation(reg));
+      }
+    }
+#endif
+  }
+#endif
+
   void Add(Location loc, Representation rep = kTagged) {
     if (loc.IsRegister()) {
       cpu_registers_.Add(loc.reg());
@@ -840,7 +860,7 @@
   FrameRebase(Register old_base, Register new_base, intptr_t stack_delta)
       : old_base_(old_base), new_base_(new_base), stack_delta_(stack_delta) {}
 
-  Location Rebase(Location loc) {
+  Location Rebase(Location loc) const {
     if (loc.IsPairLocation()) {
       return Location::Pair(Rebase(loc.Component(0)), Rebase(loc.Component(1)));
     }
diff --git a/runtime/vm/compiler/compiler_state.h b/runtime/vm/compiler/compiler_state.h
index be14d0b..76326b2 100644
--- a/runtime/vm/compiler/compiler_state.h
+++ b/runtime/vm/compiler/compiler_state.h
@@ -115,6 +115,15 @@
   // TODO(vegorov): disambiguate slots for different context IDs.
   LocalVariable* GetDummyCapturedVariable(intptr_t context_id, intptr_t index);
 
+  ZoneGrowableArray<const MegamorphicCache*>& cloned_megamorphic_caches() {
+    if (cloned_megamorphic_caches_ == nullptr) {
+      Zone* Z = Thread::Current()->zone();
+      cloned_megamorphic_caches_ =
+          new (Z) ZoneGrowableArray<const MegamorphicCache*>(Z, 12);
+    }
+    return *cloned_megamorphic_caches_;
+  }
+
  private:
   CHA cha_;
   intptr_t deopt_id_ = 0;
@@ -127,6 +136,9 @@
   ZoneGrowableArray<ZoneGrowableArray<const Slot*>*>* dummy_slots_ = nullptr;
   ZoneGrowableArray<LocalVariable*>* dummy_captured_vars_ = nullptr;
 
+  ZoneGrowableArray<const MegamorphicCache*>* cloned_megamorphic_caches_ =
+      nullptr;
+
   CompilerState* previous_;
 };
 
diff --git a/runtime/vm/compiler/ffi.cc b/runtime/vm/compiler/ffi.cc
index 67f2645..5313922 100644
--- a/runtime/vm/compiler/ffi.cc
+++ b/runtime/vm/compiler/ffi.cc
@@ -9,6 +9,7 @@
 #include "platform/globals.h"
 #include "vm/compiler/backend/locations.h"
 #include "vm/compiler/runtime_api.h"
+#include "vm/compiler/stub_code_compiler.h"
 #include "vm/growable_array.h"
 #include "vm/object_store.h"
 #include "vm/stack_frame.h"
@@ -67,7 +68,7 @@
               "FFI transformation alignment");
 static_assert(offsetof(AbiAlignmentUint64, i) == 8,
               "FFI transformation alignment");
-#elif (defined(HOST_ARCH_IA32) &&                                              \
+#elif (defined(HOST_ARCH_IA32) && /* NOLINT(whitespace/parens) */              \
        (defined(HOST_OS_LINUX) || defined(HOST_OS_MACOS) ||                    \
         defined(HOST_OS_ANDROID))) ||                                          \
     (defined(HOST_ARCH_ARM) && defined(HOST_OS_IOS))
@@ -89,7 +90,7 @@
 static Abi HostAbi() {
 #if defined(HOST_ARCH_X64) || defined(HOST_ARCH_ARM64)
   return Abi::kWordSize64;
-#elif (defined(HOST_ARCH_IA32) &&                                              \
+#elif (defined(HOST_ARCH_IA32) && /* NOLINT(whitespace/parens) */              \
        (defined(HOST_OS_LINUX) || defined(HOST_OS_MACOS) ||                    \
         defined(HOST_OS_ANDROID))) ||                                          \
     (defined(HOST_ARCH_ARM) && defined(HOST_OS_IOS))
@@ -108,7 +109,7 @@
   return HostAbi();
 #elif defined(TARGET_ARCH_X64) || defined(TARGET_ARCH_ARM64)
   return Abi::kWordSize64;
-#elif (defined(TARGET_ARCH_IA32) &&                                            \
+#elif (defined(TARGET_ARCH_IA32) && /* NOLINT(whitespace/parens) */            \
        (defined(TARGET_OS_LINUX) || defined(TARGET_OS_MACOS) ||                \
         defined(TARGET_OS_ANDROID))) ||                                        \
     (defined(TARGET_ARCH_ARM) && defined(TARGET_OS_IOS))
@@ -354,6 +355,7 @@
   intptr_t stack_height_in_slots = 0;
 };
 
+#if !defined(TARGET_ARCH_DBC)
 ZoneGrowableArray<Location>*
 CallbackArgumentTranslator::TranslateArgumentLocations(
     const ZoneGrowableArray<Location>& arg_locs) {
@@ -398,10 +400,17 @@
     // saved argument registers and stack arguments. Also add slots for the
     // shadow space if present (factored into
     // kCallbackSlotsBeforeSavedArguments).
+    //
+    // Finally, if we are using NativeCallbackTrampolines, factor in the extra
+    // stack space corresponding to those trampolines' frames (above the entry
+    // frame).
+    intptr_t stack_delta = kCallbackSlotsBeforeSavedArguments;
+    if (NativeCallbackTrampolines::Enabled()) {
+      stack_delta += StubCodeCompiler::kNativeCallbackTrampolineStackDelta;
+    }
     FrameRebase rebase(
         /*old_base=*/SPREG, /*new_base=*/SPREG,
-        /*stack_delta=*/argument_slots_required_ +
-            kCallbackSlotsBeforeSavedArguments);
+        /*stack_delta=*/argument_slots_required_ + stack_delta);
     return rebase.Rebase(arg);
   }
 
@@ -415,6 +424,7 @@
   argument_slots_used_ += 8 / target::kWordSize;
   return result;
 }
+#endif  // !defined(TARGET_ARCH_DBC)
 
 // Takes a list of argument representations, and converts it to a list of
 // argument locations based on calling convention.
diff --git a/runtime/vm/compiler/ffi.h b/runtime/vm/compiler/ffi.h
index 0e5ff05..5c743d4 100644
--- a/runtime/vm/compiler/ffi.h
+++ b/runtime/vm/compiler/ffi.h
@@ -119,7 +119,7 @@
   static const intptr_t kOffsetArgumentLocations = 3;
 };
 
-#endif  // defined(TARGET_ARCH_DBC)
+#else  // defined(TARGET_ARCH_DBC)
 
 // This classes translates the ABI location of arguments into the locations they
 // will inhabit after entry-frame setup in the invocation of a native callback.
@@ -146,6 +146,8 @@
   intptr_t argument_slots_required_ = 0;
 };
 
+#endif  // defined(TARGET_ARCH_DBC)
+
 bool IsAsFunctionInternal(Zone* zone, Isolate* isolate, const Function& func);
 
 }  // namespace ffi
diff --git a/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc b/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc
index e745986..4afe636 100644
--- a/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc
+++ b/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.cc
@@ -838,12 +838,11 @@
 
   ArgumentArray arguments = GetArguments(argc);
 
-  // TODO(alexmarkov): pass ICData::kSuper for super calls
-  // (need to distinguish them in bytecode).
   StaticCallInstr* call = new (Z) StaticCallInstr(
       position_, target, arg_desc.TypeArgsLen(),
       Array::ZoneHandle(Z, arg_desc.GetArgumentNames()), arguments,
-      *ic_data_array_, B->GetNextDeoptId(), ICData::kStatic);
+      *ic_data_array_, B->GetNextDeoptId(),
+      target.IsDynamicFunction() ? ICData::kSuper : ICData::kStatic);
 
   if (target.MayHaveUncheckedEntryPoint(isolate())) {
     call->set_entry_kind(Code::EntryKind::kUnchecked);
@@ -855,6 +854,28 @@
   B->Push(call);
 }
 
+static void ComputeTokenKindAndCheckedArguments(
+    const String& name,
+    const ArgumentsDescriptor& arg_desc,
+    Token::Kind* token_kind,
+    intptr_t* checked_argument_count) {
+  *token_kind = MethodTokenRecognizer::RecognizeTokenKind(name);
+
+  *checked_argument_count = 1;
+  if (*token_kind != Token::kILLEGAL) {
+    intptr_t argument_count = arg_desc.Count();
+    ASSERT(argument_count <= 2);
+    *checked_argument_count = (*token_kind == Token::kSET) ? 1 : argument_count;
+  } else if (Library::IsPrivateCoreLibName(name,
+                                           Symbols::_simpleInstanceOf())) {
+    ASSERT(arg_desc.Count() == 2);
+    *checked_argument_count = 2;
+    *token_kind = Token::kIS;
+  } else if (Library::IsPrivateCoreLibName(name, Symbols::_instanceOf())) {
+    *token_kind = Token::kIS;
+  }
+}
+
 void BytecodeFlowGraphBuilder::BuildInterfaceCallCommon(
     bool is_unchecked_call,
     bool is_instantiated_call) {
@@ -873,23 +894,12 @@
       Array::Cast(ConstantAt(DecodeOperandD(), 1).value());
   const ArgumentsDescriptor arg_desc(arg_desc_array);
 
+  Token::Kind token_kind;
+  intptr_t checked_argument_count;
+  ComputeTokenKindAndCheckedArguments(name, arg_desc, &token_kind,
+                                      &checked_argument_count);
+
   const intptr_t argc = DecodeOperandF().value();
-  Token::Kind token_kind = MethodTokenRecognizer::RecognizeTokenKind(name);
-
-  intptr_t checked_argument_count = 1;
-  if (token_kind != Token::kILLEGAL) {
-    intptr_t argument_count = arg_desc.Count();
-    ASSERT(argument_count <= 2);
-    checked_argument_count = (token_kind == Token::kSET) ? 1 : argument_count;
-  } else if (Library::IsPrivateCoreLibName(name,
-                                           Symbols::_simpleInstanceOf())) {
-    ASSERT(arg_desc.Count() == 2);
-    checked_argument_count = 2;
-    token_kind = Token::kIS;
-  } else if (Library::IsPrivateCoreLibName(name, Symbols::_instanceOf())) {
-    token_kind = Token::kIS;
-  }
-
   const ArgumentArray arguments = GetArguments(argc);
 
   InstanceCallInstr* call = new (Z) InstanceCallInstr(
@@ -971,35 +981,28 @@
 
   // A DebugStepCheck is performed as part of the calling stub.
 
-  const ICData& icdata = ICData::Cast(ConstantAt(DecodeOperandD()).value());
-  const intptr_t deopt_id = icdata.deopt_id();
-  ic_data_array_->EnsureLength(deopt_id + 1, nullptr);
-  if (ic_data_array_->At(deopt_id) == nullptr) {
-    (*ic_data_array_)[deopt_id] = &icdata;
-  } else {
-    ASSERT(ic_data_array_->At(deopt_id)->Original() == icdata.raw());
-  }
-  B->reset_context_depth_for_deopt_id(deopt_id);
+  const UnlinkedCall& selector =
+      UnlinkedCall::Cast(ConstantAt(DecodeOperandD()).value());
+
+  const ArgumentsDescriptor arg_desc(
+      Array::Handle(Z, selector.args_descriptor()));
+
+  const String& name = String::ZoneHandle(Z, selector.target_name());
+
+  Token::Kind token_kind;
+  intptr_t checked_argument_count;
+  ComputeTokenKindAndCheckedArguments(name, arg_desc, &token_kind,
+                                      &checked_argument_count);
 
   const intptr_t argc = DecodeOperandF().value();
-  const ArgumentsDescriptor arg_desc(
-      Array::Handle(Z, icdata.arguments_descriptor()));
-
-  const String& name = String::ZoneHandle(Z, icdata.target_name());
-  const Token::Kind token_kind =
-      MethodTokenRecognizer::RecognizeTokenKind(name);
-
   const ArgumentArray arguments = GetArguments(argc);
 
   const Function& interface_target = Function::null_function();
 
   InstanceCallInstr* call = new (Z) InstanceCallInstr(
       position_, name, token_kind, arguments, arg_desc.TypeArgsLen(),
-      Array::ZoneHandle(Z, arg_desc.GetArgumentNames()), icdata.NumArgsTested(),
-      *ic_data_array_, icdata.deopt_id(), interface_target);
-
-  ASSERT(call->ic_data() != nullptr);
-  ASSERT(call->ic_data()->Original() == icdata.raw());
+      Array::ZoneHandle(Z, arg_desc.GetArgumentNames()), checked_argument_count,
+      *ic_data_array_, B->GetNextDeoptId(), interface_target);
 
   // TODO(alexmarkov): add type info - call->SetResultType()
 
@@ -1825,30 +1828,6 @@
 #endif  // !defined(PRODUCT)
 }
 
-static bool IsICDataEntry(const ObjectPool& object_pool, intptr_t index) {
-  if (object_pool.TypeAt(index) != ObjectPool::EntryType::kTaggedObject) {
-    return false;
-  }
-  RawObject* entry = object_pool.ObjectAt(index);
-  return entry->IsHeapObject() && entry->IsICData();
-}
-
-// Read ICData entries in object pool, skip deopt_ids and
-// pre-populate ic_data_array_.
-void BytecodeFlowGraphBuilder::ProcessICDataInObjectPool(
-    const ObjectPool& object_pool) {
-  ASSERT(thread()->compiler_state().deopt_id() == 0);
-
-  const intptr_t pool_length = object_pool.Length();
-  for (intptr_t i = 0; i < pool_length; ++i) {
-    if (IsICDataEntry(object_pool, i)) {
-      const ICData& icdata = ICData::CheckedHandle(Z, object_pool.ObjectAt(i));
-      const intptr_t deopt_id = B->GetNextDeoptId();
-      ASSERT(icdata.deopt_id() == deopt_id);
-    }
-  }
-}
-
 intptr_t BytecodeFlowGraphBuilder::GetTryIndex(const PcDescriptors& descriptors,
                                                intptr_t pc) {
   const uword pc_offset =
@@ -2083,8 +2062,6 @@
   raw_bytecode_ = reinterpret_cast<const KBCInstr*>(bytecode.PayloadStart());
   bytecode_length_ = bytecode.Size() / sizeof(KBCInstr);
 
-  ProcessICDataInObjectPool(object_pool_);
-
   graph_entry_ = new (Z) GraphEntryInstr(*parsed_function_, B->osr_id_);
 
   auto normal_entry = B->BuildFunctionEntry(graph_entry_);
diff --git a/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.h b/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.h
index ec78290..9e7edac 100644
--- a/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.h
+++ b/runtime/vm/compiler/frontend/bytecode_flow_graph_builder.h
@@ -159,7 +159,6 @@
   KERNEL_BYTECODES_LIST(DECLARE_BUILD_METHOD)
 #undef DECLARE_BUILD_METHOD
 
-  void ProcessICDataInObjectPool(const ObjectPool& object_pool);
   intptr_t GetTryIndex(const PcDescriptors& descriptors, intptr_t pc);
   JoinEntryInstr* EnsureControlFlowJoin(const PcDescriptors& descriptors,
                                         intptr_t pc);
diff --git a/runtime/vm/compiler/frontend/bytecode_reader.cc b/runtime/vm/compiler/frontend/bytecode_reader.cc
index 5c7a623..8e221e8 100644
--- a/runtime/vm/compiler/frontend/bytecode_reader.cc
+++ b/runtime/vm/compiler/frontend/bytecode_reader.cc
@@ -280,16 +280,7 @@
   // Create object pool and read pool entries.
   const intptr_t obj_count = reader_.ReadListLength();
   const ObjectPool& pool = ObjectPool::Handle(Z, ObjectPool::New(obj_count));
-
-  {
-    // While reading pool entries, deopt_ids are allocated for
-    // ICData objects.
-    //
-    // TODO(alexmarkov): allocate deopt_ids for closures separately
-    DeoptIdScope deopt_id_scope(thread_, 0);
-
-    ReadConstantPool(function, pool, 0);
-  }
+  ReadConstantPool(function, pool, 0);
 
   // Read bytecode and attach to function.
   const Bytecode& bytecode = Bytecode::Handle(Z, ReadBytecode(pool));
@@ -562,6 +553,8 @@
                                /* has_positional_param_names = */ true));
 
   closure.SetSignatureType(signature_type);
+
+  I->AddClosureFunction(closure);
 }
 
 static bool IsNonCanonical(const AbstractType& type) {
@@ -796,18 +789,6 @@
           simpleInstanceOf =
               &Library::PrivateCoreLibName(Symbols::_simpleInstanceOf());
         }
-        intptr_t checked_argument_count = 1;
-        if (kind == InvocationKind::method) {
-          const Token::Kind token_kind =
-              MethodTokenRecognizer::RecognizeTokenKind(name);
-          if ((token_kind != Token::kILLEGAL) ||
-              (name.raw() == simpleInstanceOf->raw())) {
-            intptr_t argument_count = ArgumentsDescriptor(array).Count();
-            ASSERT(argument_count <= 2);
-            checked_argument_count =
-                (token_kind == Token::kSET) ? 1 : argument_count;
-          }
-        }
         // Do not mangle == or call:
         //   * operator == takes an Object so its either not checked or checked
         //     at the entry because the parameter is marked covariant, neither
@@ -819,11 +800,9 @@
             (name.raw() != Symbols::Call().raw())) {
           name = Function::CreateDynamicInvocationForwarderName(name);
         }
-        obj =
-            ICData::New(function, name,
-                        array,  // Arguments descriptor.
-                        thread_->compiler_state().GetNextDeoptId(),
-                        checked_argument_count, ICData::RebindRule::kInstance);
+        obj = UnlinkedCall::New();
+        UnlinkedCall::Cast(obj).set_target_name(name);
+        UnlinkedCall::Cast(obj).set_args_descriptor(array);
       } break;
       case ConstantPoolTag::kStaticField:
         obj = ReadObject();
@@ -1242,16 +1221,18 @@
 
   // Skip over contents of objects.
   const intptr_t objects_contents_offset = reader_.offset();
-  reader_.set_offset(objects_contents_offset + objects_size);
+  const intptr_t object_offsets_offset = objects_contents_offset + objects_size;
+  reader_.set_offset(object_offsets_offset);
 
   auto& bytecode_component_array = Array::Handle(
-      Z, BytecodeComponentData::New(
-             Z, version, num_objects, string_table_offset,
-             strings_contents_offset, objects_contents_offset, main_offset,
-             num_libraries, library_index_offset, libraries_offset, num_classes,
-             classes_offset, members_offset, num_codes, codes_offset,
-             source_positions_offset, source_files_offset, line_starts_offset,
-             local_variables_offset, annotations_offset, Heap::kOld));
+      Z,
+      BytecodeComponentData::New(
+          Z, version, num_objects, string_table_offset, strings_contents_offset,
+          object_offsets_offset, objects_contents_offset, main_offset,
+          num_libraries, library_index_offset, libraries_offset, num_classes,
+          classes_offset, members_offset, num_codes, codes_offset,
+          source_positions_offset, source_files_offset, line_starts_offset,
+          local_variables_offset, annotations_offset, Heap::kOld));
 
   BytecodeComponentData bytecode_component(&bytecode_component_array);
 
@@ -1267,6 +1248,18 @@
   return bytecode_component_array.raw();
 }
 
+void BytecodeReaderHelper::ResetObjects() {
+  reader_.set_offset(bytecode_component_->GetObjectOffsetsOffset());
+  const intptr_t num_objects = bytecode_component_->GetNumObjects();
+
+  // Read object offsets.
+  Smi& offs = Smi::Handle(Z);
+  for (intptr_t i = 0; i < num_objects; ++i) {
+    offs = Smi::New(reader_.ReadUInt());
+    bytecode_component_->SetObject(i, offs);
+  }
+}
+
 RawObject* BytecodeReaderHelper::ReadObject() {
   uint32_t header = reader_.ReadUInt();
   if ((header & kReferenceBit) != 0) {
@@ -1404,6 +1397,9 @@
       RawClass* cls = library.LookupLocalClass(class_name);
       NoSafepointScope no_safepoint_scope(thread_);
       if (cls == Class::null()) {
+        if (IsExpressionEvaluationLibrary(library)) {
+          return H.GetExpressionEvaluationRealClass();
+        }
         FATAL2("Unable to find class %s in %s", class_name.ToCString(),
                library.ToCString());
       }
@@ -1930,6 +1926,13 @@
     source = ReadString(/* is_canonical = */ false);
   }
 
+  if (source.IsNull() && line_starts.IsNull()) {
+    // This script provides a uri only, but no source or line_starts array.
+    // The source is set to the empty symbol, indicating that source and
+    // line_starts array are lazily looked up if needed.
+    source = Symbols::Empty().raw();  // Lookup is postponed.
+  }
+
   const Script& script = Script::Handle(
       Z, Script::New(import_uri, uri, source, RawScript::kKernelTag));
   script.set_line_starts(line_starts);
@@ -2390,6 +2393,11 @@
       // or a function which are not registered and cannot be looked up.
       ASSERT(!function.is_abstract());
       ASSERT(function.bytecode_offset() != 0);
+      // Replace class of the function in scope as we're going to look for
+      // expression evaluation function in a real class.
+      if (!cls.IsTopLevel()) {
+        scoped_function_class_ = H.GetExpressionEvaluationRealClass();
+      }
       CompilerState compiler_state(thread_);
       ReadCode(function, function.bytecode_offset());
     }
@@ -2520,8 +2528,12 @@
     cls.set_is_type_finalized();
   }
 
-  // TODO(alexmarkov): move this to class finalization.
-  ClassFinalizer::RegisterClassInHierarchy(Z, cls);
+  // Avoid registering expression evaluation class in a hierarchy, as
+  // it doesn't have cid and shouldn't be found when enumerating subclasses.
+  if (expression_evaluation_library_ == nullptr) {
+    // TODO(alexmarkov): move this to class finalization.
+    ClassFinalizer::RegisterClassInHierarchy(Z, cls);
+  }
 }
 
 void BytecodeReaderHelper::ReadLibraryDeclaration(const Library& library,
@@ -3059,6 +3071,14 @@
   return Smi::Value(Smi::RawCast(data_.At(kStringsContentsOffset)));
 }
 
+intptr_t BytecodeComponentData::GetObjectOffsetsOffset() const {
+  return Smi::Value(Smi::RawCast(data_.At(kObjectOffsetsOffset)));
+}
+
+intptr_t BytecodeComponentData::GetNumObjects() const {
+  return Smi::Value(Smi::RawCast(data_.At(kNumObjects)));
+}
+
 intptr_t BytecodeComponentData::GetObjectsContentsOffset() const {
   return Smi::Value(Smi::RawCast(data_.At(kObjectsContentsOffset)));
 }
@@ -3132,6 +3152,7 @@
                                      intptr_t num_objects,
                                      intptr_t strings_header_offset,
                                      intptr_t strings_contents_offset,
+                                     intptr_t object_offsets_offset,
                                      intptr_t objects_contents_offset,
                                      intptr_t main_offset,
                                      intptr_t num_libraries,
@@ -3161,6 +3182,12 @@
   smi_handle = Smi::New(strings_contents_offset);
   data.SetAt(kStringsContentsOffset, smi_handle);
 
+  smi_handle = Smi::New(object_offsets_offset);
+  data.SetAt(kObjectOffsetsOffset, smi_handle);
+
+  smi_handle = Smi::New(num_objects);
+  data.SetAt(kNumObjects, smi_handle);
+
   smi_handle = Smi::New(objects_contents_offset);
   data.SetAt(kObjectsContentsOffset, smi_handle);
 
@@ -3392,6 +3419,19 @@
   return result.raw();
 }
 
+void BytecodeReader::ResetObjectTable(const KernelProgramInfo& info) {
+  Thread* thread = Thread::Current();
+  TranslationHelper translation_helper(thread);
+  translation_helper.InitFromKernelProgramInfo(info);
+  ActiveClass active_class;
+  BytecodeComponentData bytecode_component(&Array::Handle(
+      thread->zone(), translation_helper.GetBytecodeComponent()));
+  ASSERT(!bytecode_component.IsNull());
+  BytecodeReaderHelper bytecode_reader(&translation_helper, &active_class,
+                                       &bytecode_component);
+  bytecode_reader.ResetObjects();
+}
+
 void BytecodeReader::LoadClassDeclaration(const Class& cls) {
   TIMELINE_DURATION(Thread::Current(), Compiler,
                     "BytecodeReader::LoadClassDeclaration");
diff --git a/runtime/vm/compiler/frontend/bytecode_reader.h b/runtime/vm/compiler/frontend/bytecode_reader.h
index a3ad88a..3ca2ad45 100644
--- a/runtime/vm/compiler/frontend/bytecode_reader.h
+++ b/runtime/vm/compiler/frontend/bytecode_reader.h
@@ -87,6 +87,7 @@
   RawLibrary* ReadMain();
 
   RawArray* ReadBytecodeComponent(intptr_t md_offset);
+  void ResetObjects();
 
   // Fills in [is_covariant] and [is_generic_covariant_impl] vectors
   // according to covariance attributes of [function] parameters.
@@ -257,6 +258,8 @@
     kVersion,
     kStringsHeaderOffset,
     kStringsContentsOffset,
+    kObjectOffsetsOffset,
+    kNumObjects,
     kObjectsContentsOffset,
     kMainOffset,
     kNumLibraries,
@@ -282,6 +285,8 @@
   intptr_t GetVersion() const;
   intptr_t GetStringsHeaderOffset() const;
   intptr_t GetStringsContentsOffset() const;
+  intptr_t GetObjectOffsetsOffset() const;
+  intptr_t GetNumObjects() const;
   intptr_t GetObjectsContentsOffset() const;
   intptr_t GetMainOffset() const;
   intptr_t GetNumLibraries() const;
@@ -307,6 +312,7 @@
                        intptr_t num_objects,
                        intptr_t strings_header_offset,
                        intptr_t strings_contents_offset,
+                       intptr_t object_offsets_offset,
                        intptr_t objects_contents_offset,
                        intptr_t main_offset,
                        intptr_t num_libraries,
@@ -341,6 +347,8 @@
   static RawArray* ReadExtendedAnnotations(const Field& annotation_field,
                                            intptr_t count);
 
+  static void ResetObjectTable(const KernelProgramInfo& info);
+
   // Read declaration of the given library.
   static void LoadLibraryDeclaration(const Library& library);
 
diff --git a/runtime/vm/compiler/frontend/kernel_translation_helper.h b/runtime/vm/compiler/frontend/kernel_translation_helper.h
index f529feb..87a593b 100644
--- a/runtime/vm/compiler/frontend/kernel_translation_helper.h
+++ b/runtime/vm/compiler/frontend/kernel_translation_helper.h
@@ -205,6 +205,15 @@
     }
     return *expression_evaluation_function_;
   }
+  void SetExpressionEvaluationRealClass(const Class& real_class) {
+    ASSERT(expression_evaluation_real_class_ == nullptr);
+    ASSERT(!real_class.IsNull());
+    expression_evaluation_real_class_ = &Class::Handle(zone_, real_class.raw());
+  }
+  RawClass* GetExpressionEvaluationRealClass() {
+    ASSERT(expression_evaluation_real_class_ != nullptr);
+    return expression_evaluation_real_class_->raw();
+  }
 
  private:
   // This will mangle [name_to_modify] if necessary and make the result a symbol
@@ -236,6 +245,7 @@
   Smi& name_index_handle_;
   GrowableObjectArray* potential_extension_libraries_ = nullptr;
   Function* expression_evaluation_function_ = nullptr;
+  Class* expression_evaluation_real_class_ = nullptr;
 
   DISALLOW_COPY_AND_ASSIGN(TranslationHelper);
 };
diff --git a/runtime/vm/compiler/runtime_api.cc b/runtime/vm/compiler/runtime_api.cc
index 22e9f07..1d651dc 100644
--- a/runtime/vm/compiler/runtime_api.cc
+++ b/runtime/vm/compiler/runtime_api.cc
@@ -291,7 +291,6 @@
   return dart::RawObject::IsTypedDataClassId(cid);
 }
 
-
 const word Class::kNoTypeArguments = dart::Class::kNoTypeArguments;
 
 classid_t Class::GetId(const dart::Class& handle) {
@@ -528,6 +527,11 @@
   return dart::Thread::safepoint_state_acquired();
 }
 
+intptr_t Thread::safepoint_state_inside_bit() {
+  COMPILE_ASSERT(dart::Thread::AtSafepointField::bitsize() == 1);
+  return dart::Thread::AtSafepointField::shift();
+}
+
 uword Thread::generated_execution_state() {
   return dart::Thread::ExecutionState::kThreadInGenerated;
 }
diff --git a/runtime/vm/compiler/runtime_api.h b/runtime/vm/compiler/runtime_api.h
index 8e85af1..cb38030 100644
--- a/runtime/vm/compiler/runtime_api.h
+++ b/runtime/vm/compiler/runtime_api.h
@@ -651,13 +651,13 @@
   static word write_barrier_wrappers_thread_offset(Register regno);
   static word array_write_barrier_entry_point_offset();
   static word write_barrier_entry_point_offset();
-  static word verify_callback_entry_offset();
   static word vm_tag_offset();
   static uword vm_tag_compiled_id();
 
   static word safepoint_state_offset();
   static uword safepoint_state_unacquired();
   static uword safepoint_state_acquired();
+  static intptr_t safepoint_state_inside_bit();
 
   static word execution_state_offset();
   static uword vm_execution_state();
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index 507f2d9..021c6dd 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -191,11 +191,11 @@
 static constexpr dart::compiler::target::word String_length_offset = 4;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 288;
+    Thread_AllocateArray_entry_point_offset = 284;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    624;
+    616;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    628;
+    620;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_code_offset = 112;
 static constexpr dart::compiler::target::word
@@ -203,14 +203,14 @@
 static constexpr dart::compiler::target::word Thread_async_stack_trace_offset =
     84;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 248;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 244;
 static constexpr dart::compiler::target::word Thread_bool_false_offset = 104;
 static constexpr dart::compiler::target::word Thread_bool_true_offset = 100;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_entry_point_offset = 200;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 132;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 656;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 648;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     228;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 156;
@@ -219,36 +219,36 @@
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
     160;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    268;
+    264;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 264;
+    Thread_double_negate_address_offset = 260;
 static constexpr dart::compiler::target::word Thread_end_offset = 60;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 180;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    640;
+    632;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 184;
 static constexpr dart::compiler::target::word
     Thread_call_native_through_safepoint_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 240;
+    Thread_call_native_through_safepoint_entry_point_offset = 236;
 static constexpr dart::compiler::target::word
     Thread_fix_allocation_stub_code_offset = 120;
 static constexpr dart::compiler::target::word
     Thread_fix_callers_target_code_offset = 116;
 static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 280;
+    Thread_float_absolute_address_offset = 276;
 static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 276;
+    Thread_float_negate_address_offset = 272;
 static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    272;
+    268;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 284;
+    Thread_float_zerow_address_offset = 280;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    632;
+    624;
 static constexpr dart::compiler::target::word
-    Thread_interpret_call_entry_point_offset = 252;
+    Thread_interpret_call_entry_point_offset = 248;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_from_bytecode_stub_offset = 128;
 static constexpr dart::compiler::target::word
@@ -269,7 +269,7 @@
 static constexpr dart::compiler::target::word
     Thread_monomorphic_miss_stub_offset = 152;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 244;
+    Thread_no_scope_native_wrapper_entry_point_offset = 240;
 static constexpr dart::compiler::target::word
     Thread_null_error_shared_with_fpu_regs_entry_point_offset = 208;
 static constexpr dart::compiler::target::word
@@ -280,10 +280,10 @@
     Thread_null_error_shared_without_fpu_regs_stub_offset = 136;
 static constexpr dart::compiler::target::word Thread_object_null_offset = 96;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 256;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 636;
+    Thread_predefined_symbols_address_offset = 252;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 628;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    644;
+    636;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 172;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
@@ -312,9 +312,7 @@
     Thread_write_barrier_entry_point_offset = 192;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     44;
-static constexpr dart::compiler::target::word
-    Thread_verify_callback_entry_offset = 236;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 648;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 640;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
@@ -349,8 +347,8 @@
     Code_function_entry_point_offset[] = {4, 8};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        588, 592, 596, 600, 604, -1, 608, 612,
-        616, 620, -1,  -1,  -1,  -1, -1,  -1};
+        580, 584, 588, 592, 596, -1, 600, 604,
+        608, 612, -1,  -1,  -1,  -1, -1,  -1};
 static constexpr dart::compiler::target::word Array_header_size = 12;
 static constexpr dart::compiler::target::word Context_header_size = 12;
 static constexpr dart::compiler::target::word Double_InstanceSize = 16;
@@ -550,11 +548,11 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 568;
+    Thread_AllocateArray_entry_point_offset = 560;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1256;
+    1240;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1264;
+    1248;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_code_offset = 216;
 static constexpr dart::compiler::target::word
@@ -562,14 +560,14 @@
 static constexpr dart::compiler::target::word Thread_async_stack_trace_offset =
     168;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 488;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 480;
 static constexpr dart::compiler::target::word Thread_bool_false_offset = 200;
 static constexpr dart::compiler::target::word Thread_bool_true_offset = 192;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_entry_point_offset = 392;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1320;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1304;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     448;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 304;
@@ -578,36 +576,36 @@
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
     312;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    528;
+    520;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 520;
+    Thread_double_negate_address_offset = 512;
 static constexpr dart::compiler::target::word Thread_end_offset = 120;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 352;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1288;
+    1272;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 360;
 static constexpr dart::compiler::target::word
     Thread_call_native_through_safepoint_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 472;
+    Thread_call_native_through_safepoint_entry_point_offset = 464;
 static constexpr dart::compiler::target::word
     Thread_fix_allocation_stub_code_offset = 232;
 static constexpr dart::compiler::target::word
     Thread_fix_callers_target_code_offset = 224;
 static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 552;
+    Thread_float_absolute_address_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 544;
+    Thread_float_negate_address_offset = 536;
 static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    536;
+    528;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 560;
+    Thread_float_zerow_address_offset = 552;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1272;
+    1256;
 static constexpr dart::compiler::target::word
-    Thread_interpret_call_entry_point_offset = 496;
+    Thread_interpret_call_entry_point_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_from_bytecode_stub_offset = 248;
 static constexpr dart::compiler::target::word
@@ -628,7 +626,7 @@
 static constexpr dart::compiler::target::word
     Thread_monomorphic_miss_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 480;
+    Thread_no_scope_native_wrapper_entry_point_offset = 472;
 static constexpr dart::compiler::target::word
     Thread_null_error_shared_with_fpu_regs_entry_point_offset = 408;
 static constexpr dart::compiler::target::word
@@ -639,10 +637,10 @@
     Thread_null_error_shared_without_fpu_regs_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_object_null_offset = 184;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 504;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1280;
+    Thread_predefined_symbols_address_offset = 496;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1264;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1296;
+    1280;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 336;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
@@ -671,10 +669,8 @@
     Thread_write_barrier_entry_point_offset = 376;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     88;
-static constexpr dart::compiler::target::word
-    Thread_verify_callback_entry_offset = 464;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1304;
+    1288;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -710,8 +706,8 @@
     Code_function_entry_point_offset[] = {8, 16};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1168, 1176, 1184, 1192, -1,   -1,   1200, 1208,
-        1216, 1224, 1232, -1,   1240, 1248, -1,   -1};
+        1152, 1160, 1168, 1176, -1,   -1,   1184, 1192,
+        1200, 1208, 1216, -1,   1224, 1232, -1,   -1};
 static constexpr dart::compiler::target::word Array_header_size = 24;
 static constexpr dart::compiler::target::word Context_header_size = 24;
 static constexpr dart::compiler::target::word Double_InstanceSize = 16;
@@ -909,11 +905,11 @@
 static constexpr dart::compiler::target::word String_length_offset = 4;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 288;
+    Thread_AllocateArray_entry_point_offset = 284;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    588;
+    580;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    592;
+    584;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_code_offset = 112;
 static constexpr dart::compiler::target::word
@@ -921,14 +917,14 @@
 static constexpr dart::compiler::target::word Thread_async_stack_trace_offset =
     84;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 248;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 244;
 static constexpr dart::compiler::target::word Thread_bool_false_offset = 104;
 static constexpr dart::compiler::target::word Thread_bool_true_offset = 100;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_entry_point_offset = 200;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 132;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 620;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 612;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     228;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 156;
@@ -937,36 +933,36 @@
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
     160;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    268;
+    264;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 264;
+    Thread_double_negate_address_offset = 260;
 static constexpr dart::compiler::target::word Thread_end_offset = 60;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 180;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    604;
+    596;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 184;
 static constexpr dart::compiler::target::word
     Thread_call_native_through_safepoint_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 240;
+    Thread_call_native_through_safepoint_entry_point_offset = 236;
 static constexpr dart::compiler::target::word
     Thread_fix_allocation_stub_code_offset = 120;
 static constexpr dart::compiler::target::word
     Thread_fix_callers_target_code_offset = 116;
 static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 280;
+    Thread_float_absolute_address_offset = 276;
 static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 276;
+    Thread_float_negate_address_offset = 272;
 static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    272;
+    268;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 284;
+    Thread_float_zerow_address_offset = 280;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    596;
+    588;
 static constexpr dart::compiler::target::word
-    Thread_interpret_call_entry_point_offset = 252;
+    Thread_interpret_call_entry_point_offset = 248;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_from_bytecode_stub_offset = 128;
 static constexpr dart::compiler::target::word
@@ -987,7 +983,7 @@
 static constexpr dart::compiler::target::word
     Thread_monomorphic_miss_stub_offset = 152;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 244;
+    Thread_no_scope_native_wrapper_entry_point_offset = 240;
 static constexpr dart::compiler::target::word
     Thread_null_error_shared_with_fpu_regs_entry_point_offset = 208;
 static constexpr dart::compiler::target::word
@@ -998,10 +994,10 @@
     Thread_null_error_shared_without_fpu_regs_stub_offset = 136;
 static constexpr dart::compiler::target::word Thread_object_null_offset = 96;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 256;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 600;
+    Thread_predefined_symbols_address_offset = 252;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 592;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    608;
+    600;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 172;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
@@ -1030,9 +1026,7 @@
     Thread_write_barrier_entry_point_offset = 192;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     44;
-static constexpr dart::compiler::target::word
-    Thread_verify_callback_entry_offset = 236;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 612;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 604;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
@@ -1264,11 +1258,11 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 568;
+    Thread_AllocateArray_entry_point_offset = 560;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1344;
+    1328;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1352;
+    1336;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_code_offset = 216;
 static constexpr dart::compiler::target::word
@@ -1276,14 +1270,14 @@
 static constexpr dart::compiler::target::word Thread_async_stack_trace_offset =
     168;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 488;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 480;
 static constexpr dart::compiler::target::word Thread_bool_false_offset = 200;
 static constexpr dart::compiler::target::word Thread_bool_true_offset = 192;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_entry_point_offset = 392;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1408;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1392;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     448;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 304;
@@ -1292,36 +1286,36 @@
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
     312;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    528;
+    520;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 520;
+    Thread_double_negate_address_offset = 512;
 static constexpr dart::compiler::target::word Thread_end_offset = 120;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 352;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1376;
+    1360;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 360;
 static constexpr dart::compiler::target::word
     Thread_call_native_through_safepoint_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 472;
+    Thread_call_native_through_safepoint_entry_point_offset = 464;
 static constexpr dart::compiler::target::word
     Thread_fix_allocation_stub_code_offset = 232;
 static constexpr dart::compiler::target::word
     Thread_fix_callers_target_code_offset = 224;
 static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 552;
+    Thread_float_absolute_address_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 544;
+    Thread_float_negate_address_offset = 536;
 static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    536;
+    528;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 560;
+    Thread_float_zerow_address_offset = 552;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1360;
+    1344;
 static constexpr dart::compiler::target::word
-    Thread_interpret_call_entry_point_offset = 496;
+    Thread_interpret_call_entry_point_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_from_bytecode_stub_offset = 248;
 static constexpr dart::compiler::target::word
@@ -1342,7 +1336,7 @@
 static constexpr dart::compiler::target::word
     Thread_monomorphic_miss_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 480;
+    Thread_no_scope_native_wrapper_entry_point_offset = 472;
 static constexpr dart::compiler::target::word
     Thread_null_error_shared_with_fpu_regs_entry_point_offset = 408;
 static constexpr dart::compiler::target::word
@@ -1353,10 +1347,10 @@
     Thread_null_error_shared_without_fpu_regs_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_object_null_offset = 184;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 504;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1368;
+    Thread_predefined_symbols_address_offset = 496;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1352;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1384;
+    1368;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 336;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
@@ -1385,10 +1379,8 @@
     Thread_write_barrier_entry_point_offset = 376;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     88;
-static constexpr dart::compiler::target::word
-    Thread_verify_callback_entry_offset = 464;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1392;
+    1376;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -1424,9 +1416,9 @@
     Code_function_entry_point_offset[] = {8, 16};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1168, 1176, 1184, 1192, 1200, 1208, 1216, 1224, 1232, 1240, 1248,
-        1256, 1264, 1272, 1280, -1,   -1,   -1,   -1,   1288, 1296, 1304,
-        1312, 1320, 1328, 1336, -1,   -1,   -1,   -1,   -1,   -1};
+        1152, 1160, 1168, 1176, 1184, 1192, 1200, 1208, 1216, 1224, 1232,
+        1240, 1248, 1256, 1264, -1,   -1,   -1,   -1,   1272, 1280, 1288,
+        1296, 1304, 1312, 1320, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word Array_header_size = 24;
 static constexpr dart::compiler::target::word Context_header_size = 24;
 static constexpr dart::compiler::target::word Double_InstanceSize = 16;
@@ -1628,23 +1620,23 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 296;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    896;
+    888;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    904;
+    896;
 static constexpr dart::compiler::target::word Thread_async_stack_trace_offset =
     168;
 static constexpr dart::compiler::target::word
     Thread_auto_scope_native_wrapper_entry_point_offset = 216;
 static constexpr dart::compiler::target::word Thread_bool_false_offset = 200;
 static constexpr dart::compiler::target::word Thread_bool_true_offset = 192;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 960;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 952;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
     256;
 static constexpr dart::compiler::target::word
     Thread_double_negate_address_offset = 248;
 static constexpr dart::compiler::target::word Thread_end_offset = 120;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    928;
+    920;
 static constexpr dart::compiler::target::word
     Thread_float_absolute_address_offset = 280;
 static constexpr dart::compiler::target::word
@@ -1654,7 +1646,7 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 288;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    912;
+    904;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 96;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 144;
@@ -1663,9 +1655,9 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 184;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 232;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 920;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 912;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    936;
+    928;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 80;
@@ -1680,7 +1672,7 @@
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 160;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     88;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 944;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 936;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -1913,23 +1905,23 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 152;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    452;
+    448;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    456;
+    452;
 static constexpr dart::compiler::target::word Thread_async_stack_trace_offset =
     84;
 static constexpr dart::compiler::target::word
     Thread_auto_scope_native_wrapper_entry_point_offset = 112;
 static constexpr dart::compiler::target::word Thread_bool_false_offset = 104;
 static constexpr dart::compiler::target::word Thread_bool_true_offset = 100;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 484;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 480;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
     132;
 static constexpr dart::compiler::target::word
     Thread_double_negate_address_offset = 128;
 static constexpr dart::compiler::target::word Thread_end_offset = 60;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    468;
+    464;
 static constexpr dart::compiler::target::word
     Thread_float_absolute_address_offset = 144;
 static constexpr dart::compiler::target::word
@@ -1939,7 +1931,7 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 148;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    460;
+    456;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 48;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 72;
@@ -1948,9 +1940,9 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 96;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 120;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 464;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 460;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    472;
+    468;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 40;
@@ -1965,7 +1957,7 @@
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 80;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     44;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 476;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 472;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
diff --git a/runtime/vm/compiler/runtime_offsets_list.h b/runtime/vm/compiler/runtime_offsets_list.h
index 29588ec..f67e729 100644
--- a/runtime/vm/compiler/runtime_offsets_list.h
+++ b/runtime/vm/compiler/runtime_offsets_list.h
@@ -217,7 +217,6 @@
   NOT_IN_DBC(FIELD(Thread, write_barrier_code_offset))                         \
   NOT_IN_DBC(FIELD(Thread, write_barrier_entry_point_offset))                  \
   FIELD(Thread, write_barrier_mask_offset)                                     \
-  NOT_IN_DBC(FIELD(Thread, verify_callback_entry_offset))                      \
   FIELD(Thread, callback_code_offset)                                          \
   FIELD(TimelineStream, enabled_offset)                                        \
   FIELD(TwoByteString, data_offset)                                            \
diff --git a/runtime/vm/compiler/stub_code_compiler.h b/runtime/vm/compiler/stub_code_compiler.h
index b7d0332..c7ce24a 100644
--- a/runtime/vm/compiler/stub_code_compiler.h
+++ b/runtime/vm/compiler/stub_code_compiler.h
@@ -65,6 +65,30 @@
   static void GenerateUsageCounterIncrement(Assembler* assembler,
                                             Register temp_reg);
   static void GenerateOptimizedUsageCounterIncrement(Assembler* assembler);
+
+#if defined(TARGET_ARCH_X64)
+  static constexpr intptr_t kNativeCallbackTrampolineSize = 10;
+  static constexpr intptr_t kNativeCallbackSharedStubSize = 217;
+  static constexpr intptr_t kNativeCallbackTrampolineStackDelta = 2;
+#elif defined(TARGET_ARCH_IA32)
+  static constexpr intptr_t kNativeCallbackTrampolineSize = 10;
+  static constexpr intptr_t kNativeCallbackSharedStubSize = 90;
+  static constexpr intptr_t kNativeCallbackTrampolineStackDelta = 2;
+#elif defined(TARGET_ARCH_ARM)
+  static constexpr intptr_t kNativeCallbackTrampolineSize = 12;
+  static constexpr intptr_t kNativeCallbackSharedStubSize = 140;
+  static constexpr intptr_t kNativeCallbackTrampolineStackDelta = 4;
+#elif defined(TARGET_ARCH_ARM64)
+  static constexpr intptr_t kNativeCallbackTrampolineSize = 12;
+  static constexpr intptr_t kNativeCallbackSharedStubSize = 284;
+  static constexpr intptr_t kNativeCallbackTrampolineStackDelta = 2;
+#endif
+
+#if !defined(TARGET_ARCH_DBC)
+  static void GenerateJITCallbackTrampolines(Assembler* assembler,
+                                             intptr_t next_callback_id);
+#endif
+
 #endif  // !defined(DART_PRECOMPILED_RUNTIME)
 };
 
diff --git a/runtime/vm/compiler/stub_code_compiler_arm.cc b/runtime/vm/compiler/stub_code_compiler_arm.cc
index 39974a2..2ab5d44 100644
--- a/runtime/vm/compiler/stub_code_compiler_arm.cc
+++ b/runtime/vm/compiler/stub_code_compiler_arm.cc
@@ -322,32 +322,131 @@
   // TransitionGeneratedToNative might clobber LR if it takes the slow path.
   __ mov(R4, Operand(LR));
 
-  __ TransitionGeneratedToNative(R8, FPREG, R9 /*volatile*/, NOTFP);
+  __ TransitionGeneratedToNative(R8, FPREG, R9 /*volatile*/, NOTFP,
+                                 /*enter_safepoint=*/true);
 
   __ blx(R8);
 
-  __ TransitionNativeToGenerated(R9 /*volatile*/, NOTFP);
+  __ TransitionNativeToGenerated(R9 /*volatile*/, NOTFP,
+                                 /*exit_safepoint=*/true);
 
   __ bx(R4);
 }
 
-void StubCodeCompiler::GenerateVerifyCallbackStub(Assembler* assembler) {
-  __ EnterFrame(1 << FP | 1 << LR, 0);
-  __ ReserveAlignedFrameSpace(0);
+#if !defined(DART_PRECOMPILER)
+void StubCodeCompiler::GenerateJITCallbackTrampolines(
+    Assembler* assembler,
+    intptr_t next_callback_id) {
+#if defined(USING_SIMULATOR)
+  // TODO(37299): FFI is not support in SIMARM.
+  __ Breakpoint();
+#else
+  Label done;
 
-  // First argument is already set up by the caller.
+  // TMP is volatile and not used for passing any arguments.
+  COMPILE_ASSERT(!IsCalleeSavedRegister(TMP) && !IsArgumentRegister(TMP));
+
+  for (intptr_t i = 0;
+       i < NativeCallbackTrampolines::NumCallbackTrampolinesPerPage(); ++i) {
+    // We don't use LoadImmediate because we need the trampoline size to be
+    // fixed independently of the callback ID.
+    //
+    // PC points two instructions ahead of the current one -- directly where we
+    // store the callback ID.
+    __ ldr(TMP, Address(PC, 0));
+    __ b(&done);
+    __ Emit(next_callback_id + i);
+  }
+
+  ASSERT(__ CodeSize() ==
+         kNativeCallbackTrampolineSize *
+             NativeCallbackTrampolines::NumCallbackTrampolinesPerPage());
+
+  __ Bind(&done);
+
+  const intptr_t shared_stub_start = __ CodeSize();
+
+  // Save THR (callee-saved), R4 & R5 (temporaries, callee-saved), and LR.
+  COMPILE_ASSERT(StubCodeCompiler::kNativeCallbackTrampolineStackDelta == 4);
+  __ PushList((1 << LR) | (1 << THR) | (1 << R4) | (1 << R5));
+
+  // Don't rely on TMP being preserved by assembler macros anymore.
+  __ mov(R4, Operand(TMP));
+
+  COMPILE_ASSERT(IsCalleeSavedRegister(R4));
+  COMPILE_ASSERT(!IsArgumentRegister(THR));
+
+  RegisterSet argument_registers;
+  argument_registers.AddAllArgumentRegisters();
+  __ PushRegisters(argument_registers);
+
+  // Load the thread, verify the callback ID and exit the safepoint.
   //
-  // Second argument is the return address of the caller.
-  __ mov(CallingConventions::ArgumentRegisters[1], Operand(LR));
-  ASSERT(R2 != CallingConventions::ArgumentRegisters[0] &&
-         R2 != CallingConventions::ArgumentRegisters[1]);
-  __ LoadFromOffset(kWord, R2, THR,
-                    kVerifyCallbackIsolateRuntimeEntry.OffsetFromThread());
-  __ blx(R2);
+  // We exit the safepoint inside DLRT_GetThreadForNativeCallbackTrampoline
+  // in order to safe code size on this shared stub.
+  {
+    __ EnterFrame(1 << FP, 0);
+    __ ReserveAlignedFrameSpace(0);
 
-  __ LeaveFrame(1 << FP | 1 << LR);
-  __ Ret();
+    __ mov(R0, Operand(R4));
+
+    // Since DLRT_GetThreadForNativeCallbackTrampoline can theoretically be
+    // loaded anywhere, we use the same trick as before to ensure a predictable
+    // instruction sequence.
+    Label call;
+    __ ldr(R1, Address(PC, 0));
+    __ b(&call);
+    __ Emit(
+        reinterpret_cast<int32_t>(&DLRT_GetThreadForNativeCallbackTrampoline));
+
+    __ Bind(&call);
+    __ blx(R1);
+    __ mov(THR, Operand(R0));
+
+    __ LeaveFrame(1 << FP);
+  }
+
+  __ PopRegisters(argument_registers);
+
+  COMPILE_ASSERT(!IsArgumentRegister(R8));
+
+  // Load the code object.
+  __ LoadFromOffset(kWord, R5, THR,
+                    compiler::target::Thread::callback_code_offset());
+  __ LoadFieldFromOffset(kWord, R5, R5,
+                         compiler::target::GrowableObjectArray::data_offset());
+  __ ldr(R5, __ ElementAddressForRegIndex(
+                 /*is_load=*/true,
+                 /*external=*/false,
+                 /*array_cid=*/kArrayCid,
+                 /*index, smi-tagged=*/compiler::target::kWordSize * 2,
+                 /*array=*/R5,
+                 /*index=*/R4));
+  __ LoadFieldFromOffset(kWord, R5, R5,
+                         compiler::target::Code::entry_point_offset());
+
+  // On entry to the function, there will be four extra slots on the stack:
+  // saved THR, R4, R5 and the return address. The target will know to skip
+  // them.
+  __ blx(R5);
+
+  // EnterSafepoint clobbers R4, R5 and TMP, all saved or volatile.
+  __ EnterSafepoint(R4, R5);
+
+  // Returns.
+  __ PopList((1 << PC) | (1 << THR) | (1 << R4) | (1 << R5));
+
+  ASSERT((__ CodeSize() - shared_stub_start) == kNativeCallbackSharedStubSize);
+  ASSERT(__ CodeSize() <= VirtualMemory::PageSize());
+
+#if defined(DEBUG)
+  while (__ CodeSize() < VirtualMemory::PageSize()) {
+    __ Breakpoint();
+  }
+#endif
+#endif
 }
+#endif  // !defined(DART_PRECOMPILER)
 
 void StubCodeCompiler::GenerateNullErrorSharedWithoutFPURegsStub(
     Assembler* assembler) {
diff --git a/runtime/vm/compiler/stub_code_compiler_arm64.cc b/runtime/vm/compiler/stub_code_compiler_arm64.cc
index 9961c18..c565ba5 100644
--- a/runtime/vm/compiler/stub_code_compiler_arm64.cc
+++ b/runtime/vm/compiler/stub_code_compiler_arm64.cc
@@ -266,7 +266,8 @@
   COMPILE_ASSERT((1 << R19) & kAbiPreservedCpuRegs);
 
   __ mov(R19, LR);
-  __ TransitionGeneratedToNative(R8, FPREG, R9 /*volatile*/);
+  __ TransitionGeneratedToNative(R8, FPREG, R9 /*volatile*/,
+                                 /*enter_safepoint=*/true);
   __ mov(CSP, SP);
 
 #if defined(DEBUG)
@@ -282,27 +283,136 @@
 
   __ blr(R8);
   __ mov(SP, CSP);
-  __ TransitionNativeToGenerated(R9);
+  __ TransitionNativeToGenerated(R9, /*leave_safepoint=*/true);
   __ ret(R19);
 }
 
-void StubCodeCompiler::GenerateVerifyCallbackStub(Assembler* assembler) {
-  __ EnterFrame(0);
-  __ ReserveAlignedFrameSpace(0);
+#if !defined(DART_PRECOMPILER)
+void StubCodeCompiler::GenerateJITCallbackTrampolines(
+    Assembler* assembler,
+    intptr_t next_callback_id) {
+#if !defined(HOST_ARCH_ARM64)
+  // TODO(37299): FFI is not support in SIMARM64.
+  __ Breakpoint();
+#else
+  Label done;
 
-  // First argument is already set up by the caller.
+  // R8 is volatile and not used for passing any arguments.
+  COMPILE_ASSERT(!IsCalleeSavedRegister(R8) && !IsArgumentRegister(R8));
+  for (intptr_t i = 0;
+       i < NativeCallbackTrampolines::NumCallbackTrampolinesPerPage(); ++i) {
+    // We don't use LoadImmediate because we need the trampoline size to be
+    // fixed independently of the callback ID.
+    //
+    // Instead we paste the callback ID directly in the code load it
+    // PC-relative.
+    __ ldr(R8, compiler::Address::PC(2 * Instr::kInstrSize));
+    __ b(&done);
+    __ Emit(next_callback_id + i);
+  }
+
+  ASSERT(__ CodeSize() ==
+         kNativeCallbackTrampolineSize *
+             NativeCallbackTrampolines::NumCallbackTrampolinesPerPage());
+
+  __ Bind(&done);
+
+  const intptr_t shared_stub_start = __ CodeSize();
+
+  // The load of the callback ID might have incorrect higher-order bits, since
+  // we only emit a 32-bit callback ID.
+  __ uxtw(R8, R8);
+
+  // Save THR (callee-saved) and LR on real real C stack (CSP). Keeps it
+  // aligned.
+  COMPILE_ASSERT(StubCodeCompiler::kNativeCallbackTrampolineStackDelta == 2);
+  __ stp(THR, LR, Address(CSP, -2 * target::kWordSize, Address::PairPreIndex));
+
+  COMPILE_ASSERT(!IsArgumentRegister(THR));
+
+  RegisterSet all_registers;
+  all_registers.AddAllArgumentRegisters();
+
+  // The call below might clobber R8 (volatile, holding callback_id).
+  all_registers.Add(Location::RegisterLocation(R8));
+
+  // Load the thread, verify the callback ID and exit the safepoint.
   //
-  // Second argument is the return address of the caller.
-  __ mov(CallingConventions::ArgumentRegisters[1], LR);
-  __ LoadFromOffset(R2, THR,
-                    kVerifyCallbackIsolateRuntimeEntry.OffsetFromThread());
-  __ mov(CSP, SP);
-  __ blr(R2);
-  __ mov(SP, CSP);
+  // We exit the safepoint inside DLRT_GetThreadForNativeCallbackTrampoline
+  // in order to safe code size on this shared stub.
+  {
+    __ mov(SP, CSP);
 
-  __ LeaveFrame();
-  __ Ret();
+    __ EnterFrame(0);
+    __ PushRegisters(all_registers);
+
+    __ EnterFrame(0);
+    __ ReserveAlignedFrameSpace(0);
+
+    __ mov(CSP, SP);
+
+    // Since DLRT_GetThreadForNativeCallbackTrampoline can theoretically be
+    // loaded anywhere, we use the same trick as before to ensure a predictable
+    // instruction sequence.
+    Label call;
+    __ mov(R0, R8);
+    __ ldr(R1, compiler::Address::PC(2 * Instr::kInstrSize));
+    __ b(&call);
+
+    __ Emit64(
+        reinterpret_cast<int64_t>(&DLRT_GetThreadForNativeCallbackTrampoline));
+
+    __ Bind(&call);
+    __ blr(R1);
+    __ mov(THR, R0);
+
+    __ LeaveFrame();
+
+    __ PopRegisters(all_registers);
+    __ LeaveFrame();
+
+    __ mov(CSP, SP);
+  }
+
+  COMPILE_ASSERT(!IsCalleeSavedRegister(R9) && !IsArgumentRegister(R9));
+
+  // Load the code object.
+  __ LoadFromOffset(R9, THR, compiler::target::Thread::callback_code_offset());
+  __ LoadFieldFromOffset(R9, R9,
+                         compiler::target::GrowableObjectArray::data_offset());
+  __ ldr(R9, __ ElementAddressForRegIndex(
+                 /*is_load=*/true,
+                 /*external=*/false,
+                 /*array_cid=*/kArrayCid,
+                 /*index, smi-tagged=*/compiler::target::kWordSize * 2,
+                 /*array=*/R9,
+                 /*index=*/R8));
+  __ LoadFieldFromOffset(R9, R9, compiler::target::Code::entry_point_offset());
+
+  // Clobbers all volatile registers, including the callback ID in R8.
+  // Resets CSP and SP, important for EnterSafepoint below.
+  __ blr(R9);
+
+  // EnterSafepoint clobbers TMP, TMP2 and R8 -- all volatile and not holding
+  // return values.
+  __ EnterSafepoint(R8);
+
+  // Pop LR and THR from the real stack (CSP).
+  __ ldp(THR, LR, Address(CSP, 2 * target::kWordSize, Address::PairPostIndex));
+
+  __ ret();
+
+  ASSERT((__ CodeSize() - shared_stub_start) == kNativeCallbackSharedStubSize);
+  ASSERT(__ CodeSize() <= VirtualMemory::PageSize());
+
+#if defined(DEBUG)
+  while (__ CodeSize() < VirtualMemory::PageSize()) {
+    __ Breakpoint();
+  }
+#endif
+#endif  // !defined(HOST_ARCH_ARM64)
 }
+#endif  // !defined(DART_PRECOMPILER)
 
 // R1: The extracted method.
 // R4: The type_arguments_field_offset (or 0)
diff --git a/runtime/vm/compiler/stub_code_compiler_ia32.cc b/runtime/vm/compiler/stub_code_compiler_ia32.cc
index b770097..202ee75 100644
--- a/runtime/vm/compiler/stub_code_compiler_ia32.cc
+++ b/runtime/vm/compiler/stub_code_compiler_ia32.cc
@@ -192,34 +192,99 @@
     Assembler* assembler) {
   __ popl(EBX);
 
-  __ TransitionGeneratedToNative(EAX, FPREG, ECX /*volatile*/);
+  __ TransitionGeneratedToNative(EAX, FPREG, ECX /*volatile*/,
+                                 /*enter_safepoint=*/true);
   __ call(EAX);
-  __ TransitionNativeToGenerated(ECX /*volatile*/);
+  __ TransitionNativeToGenerated(ECX /*volatile*/, /*leave_safepoint=*/true);
 
   __ jmp(EBX);
 }
 
-void StubCodeCompiler::GenerateVerifyCallbackStub(Assembler* assembler) {
-  __ EnterFrame(0);
-  __ ReserveAlignedFrameSpace(0);
+void StubCodeCompiler::GenerateJITCallbackTrampolines(
+    Assembler* assembler,
+    intptr_t next_callback_id) {
+  Label done;
 
-  // The return address needs to be the second argument to
-  // VerifyCallbackIsolate.
-  __ movl(EAX, Address(FPREG, 4));
-  __ pushl(EAX);
+  // EAX is volatile and doesn't hold any arguments.
+  COMPILE_ASSERT(!IsArgumentRegister(EAX) && !IsCalleeSavedRegister(EAX));
 
-  // Argument to the stub is callback ID, which is also the first argument to
-  // VerifyCallbackIsolate.
-  __ movl(EAX, Address(FPREG, 8));
-  __ pushl(EAX);
+  for (intptr_t i = 0;
+       i < NativeCallbackTrampolines::NumCallbackTrampolinesPerPage(); ++i) {
+    __ movl(EAX, compiler::Immediate(next_callback_id + i));
+    __ jmp(&done);
+  }
 
-  // Call the VerifyCallbackIsolate runtime entry.
-  __ movl(EAX,
-          Address(THR, kVerifyCallbackIsolateRuntimeEntry.OffsetFromThread()));
-  __ call(EAX);
+  ASSERT(__ CodeSize() ==
+         kNativeCallbackTrampolineSize *
+             NativeCallbackTrampolines::NumCallbackTrampolinesPerPage());
 
-  __ LeaveFrame();
+  __ Bind(&done);
+
+  const intptr_t shared_stub_start = __ CodeSize();
+
+  // Save THR which is callee-saved.
+  __ pushl(THR);
+
+  // THR & return address
+  COMPILE_ASSERT(StubCodeCompiler::kNativeCallbackTrampolineStackDelta == 2);
+
+  // Load the thread, verify the callback ID and exit the safepoint.
+  //
+  // We exit the safepoint inside DLRT_GetThreadForNativeCallbackTrampoline
+  // in order to safe code size on this shared stub.
+  {
+    __ EnterFrame(0);
+    __ ReserveAlignedFrameSpace(compiler::target::kWordSize);
+
+    __ movl(compiler::Address(SPREG, 0), EAX);
+    __ movl(EAX, compiler::Immediate(reinterpret_cast<int64_t>(
+                     DLRT_GetThreadForNativeCallbackTrampoline)));
+    __ call(EAX);
+    __ movl(THR, EAX);
+    __ movl(EAX, compiler::Address(SPREG, 0));
+
+    __ LeaveFrame();
+  }
+
+  COMPILE_ASSERT(!IsCalleeSavedRegister(ECX) && !IsArgumentRegister(ECX));
+  COMPILE_ASSERT(ECX != THR);
+
+  // Load the target from the thread.
+  __ movl(ECX, compiler::Address(
+                   THR, compiler::target::Thread::callback_code_offset()));
+  __ movl(ECX, compiler::FieldAddress(
+                   ECX, compiler::target::GrowableObjectArray::data_offset()));
+  __ movl(ECX, __ ElementAddressForRegIndex(
+                   /*external=*/false,
+                   /*array_cid=*/kArrayCid,
+                   /*index, smi-tagged=*/compiler::target::kWordSize * 2,
+                   /*array=*/ECX,
+                   /*index=*/EAX));
+  __ movl(ECX, compiler::FieldAddress(
+                   ECX, compiler::target::Code::entry_point_offset()));
+
+  // On entry to the function, there will be two extra slots on the stack:
+  // the saved THR and the return address. The target will know to skip them.
+  __ call(ECX);
+
+  // EnterSafepoint takes care to not clobber *any* registers (besides scratch).
+  __ EnterSafepoint(/*scratch=*/ECX);
+
+  // Restore THR (callee-saved).
+  __ popl(THR);
+
   __ ret();
+
+  // 'kNativeCallbackSharedStubSize' is an upper bound because the exact
+  // instruction size can vary slightly based on OS calling conventions.
+  ASSERT((__ CodeSize() - shared_stub_start) <= kNativeCallbackSharedStubSize);
+  ASSERT(__ CodeSize() <= VirtualMemory::PageSize());
+
+#if defined(DEBUG)
+  while (__ CodeSize() < VirtualMemory::PageSize()) {
+    __ Breakpoint();
+  }
+#endif
 }
 
 void StubCodeCompiler::GenerateNullErrorSharedWithoutFPURegsStub(
diff --git a/runtime/vm/compiler/stub_code_compiler_x64.cc b/runtime/vm/compiler/stub_code_compiler_x64.cc
index ae81917..7ac6ced 100644
--- a/runtime/vm/compiler/stub_code_compiler_x64.cc
+++ b/runtime/vm/compiler/stub_code_compiler_x64.cc
@@ -238,20 +238,6 @@
   __ ret();
 }
 
-void StubCodeCompiler::GenerateVerifyCallbackStub(Assembler* assembler) {
-  // SP points to return address, which needs to be the second argument to
-  // VerifyCallbackIsolate.
-  __ movq(CallingConventions::kArg2Reg, Address(SPREG, 0));
-
-  __ EnterFrame(0);
-  __ ReserveAlignedFrameSpace(0);
-  __ movq(RAX,
-          Address(THR, kVerifyCallbackIsolateRuntimeEntry.OffsetFromThread()));
-  __ CallCFunction(RAX);
-  __ LeaveFrame();
-  __ ret();
-}
-
 // Calls native code within a safepoint.
 //
 // On entry:
@@ -263,18 +249,130 @@
 //   RBX, R12 clobbered
 void StubCodeCompiler::GenerateCallNativeThroughSafepointStub(
     Assembler* assembler) {
-  __ TransitionGeneratedToNative(RBX, FPREG);
+  __ TransitionGeneratedToNative(RBX, FPREG, /*enter_safepoint=*/true);
 
   __ popq(R12);
   __ CallCFunction(RBX);
 
-  __ TransitionNativeToGenerated();
+  __ TransitionNativeToGenerated(/*leave_safepoint=*/true);
 
   // Faster than jmp because it doesn't confuse the branch predictor.
   __ pushq(R12);
   __ ret();
 }
 
+#if !defined(DART_PRECOMPILER)
+void StubCodeCompiler::GenerateJITCallbackTrampolines(
+    Assembler* assembler,
+    intptr_t next_callback_id) {
+  Label done;
+
+  // RAX is volatile and not used for passing any arguments.
+  COMPILE_ASSERT(!IsCalleeSavedRegister(RAX) && !IsArgumentRegister(RAX));
+
+  for (intptr_t i = 0;
+       i < NativeCallbackTrampolines::NumCallbackTrampolinesPerPage(); ++i) {
+    __ movq(RAX, compiler::Immediate(next_callback_id + i));
+    __ jmp(&done);
+  }
+
+  ASSERT(__ CodeSize() ==
+         kNativeCallbackTrampolineSize *
+             NativeCallbackTrampolines::NumCallbackTrampolinesPerPage());
+
+  __ Bind(&done);
+
+  const intptr_t shared_stub_start = __ CodeSize();
+
+  // Save THR which is callee-saved.
+  __ pushq(THR);
+
+  // 2 = THR & return address
+  COMPILE_ASSERT(2 == StubCodeCompiler::kNativeCallbackTrampolineStackDelta);
+
+  // Save the callback ID.
+  __ pushq(RAX);
+
+  // Save all registers which might hold arguments.
+  __ PushRegisters(CallingConventions::kArgumentRegisters,
+                   CallingConventions::kFpuArgumentRegisters);
+
+  // Load the thread, verify the callback ID and exit the safepoint.
+  //
+  // We exit the safepoint inside DLRT_GetThreadForNativeCallbackTrampoline
+  // in order to save code size on this shared stub.
+  {
+    __ EnterFrame(0);
+    __ ReserveAlignedFrameSpace(0);
+
+    COMPILE_ASSERT(RAX != CallingConventions::kArg1Reg);
+    __ movq(CallingConventions::kArg1Reg, RAX);
+    __ movq(RAX, compiler::Immediate(reinterpret_cast<int64_t>(
+                     DLRT_GetThreadForNativeCallbackTrampoline)));
+    __ CallCFunction(RAX);
+    __ movq(THR, RAX);
+
+    __ LeaveFrame();
+  }
+
+  // Restore the arguments.
+  __ PopRegisters(CallingConventions::kArgumentRegisters,
+                  CallingConventions::kFpuArgumentRegisters);
+
+  // Restore the callback ID.
+  __ popq(RAX);
+
+  // Current state:
+  //
+  // Stack:
+  //  <old stack (arguments)>
+  //  <return address>
+  //  <saved THR>
+  //
+  // Registers: Like entry, except RAX == callback_id and THR == thread
+  //            All argument registers are untouched.
+
+  COMPILE_ASSERT(!IsCalleeSavedRegister(TMP) && !IsArgumentRegister(TMP));
+
+  // Load the target from the thread.
+  __ movq(TMP, compiler::Address(
+                   THR, compiler::target::Thread::callback_code_offset()));
+  __ movq(TMP, compiler::FieldAddress(
+                   TMP, compiler::target::GrowableObjectArray::data_offset()));
+  __ movq(TMP, __ ElementAddressForRegIndex(
+                   /*external=*/false,
+                   /*array_cid=*/kArrayCid,
+                   /*index, smi-tagged=*/compiler::target::kWordSize * 2,
+                   /*array=*/TMP,
+                   /*index=*/RAX));
+  __ movq(TMP, compiler::FieldAddress(
+                   TMP, compiler::target::Code::entry_point_offset()));
+
+  // On entry to the function, there will be two extra slots on the stack:
+  // the saved THR and the return address. The target will know to skip them.
+  __ call(TMP);
+
+  // EnterSafepoint takes care to not clobber *any* registers (besides TMP).
+  __ EnterSafepoint();
+
+  // Restore THR (callee-saved).
+  __ popq(THR);
+
+  __ ret();
+
+  // 'kNativeCallbackSharedStubSize' is an upper bound because the exact
+  // instruction size can vary slightly based on OS calling conventions.
+  ASSERT((__ CodeSize() - shared_stub_start) <= kNativeCallbackSharedStubSize);
+  ASSERT(__ CodeSize() <= VirtualMemory::PageSize());
+
+#if defined(DEBUG)
+  while (__ CodeSize() < VirtualMemory::PageSize()) {
+    __ Breakpoint();
+  }
+#endif
+}
+#endif  // !defined(DART_PRECOMPILER)
+
 // RBX: The extracted method.
 // RDX: The type_arguments_field_offset (or 0)
 void StubCodeCompiler::GenerateBuildMethodExtractorStub(
diff --git a/runtime/vm/constants.h b/runtime/vm/constants.h
index 7fe6c15..5e58117 100644
--- a/runtime/vm/constants.h
+++ b/runtime/vm/constants.h
@@ -85,6 +85,22 @@
 #endif  // !defined(HOST_ARCH_EQUALS_TARGET_ARCH)
 };
 
+#if !defined(TARGET_ARCH_DBC)
+
+static constexpr bool IsArgumentRegister(Register reg) {
+  return ((1 << reg) & CallingConventions::kArgumentRegisters) != 0;
+}
+
+static constexpr bool IsFpuArgumentRegister(FpuRegister reg) {
+  return ((1 << reg) & CallingConventions::kFpuArgumentRegisters) != 0;
+}
+
+static constexpr bool IsCalleeSavedRegister(Register reg) {
+  return ((1 << reg) & CallingConventions::kCalleeSaveCpuRegisters) != 0;
+}
+
+#endif  // !defined(TARGET_ARCH_DBC)
+
 }  // namespace dart
 
 #endif  // RUNTIME_VM_CONSTANTS_H_
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index 15254c5..a1f578c 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -349,6 +349,8 @@
 
   static constexpr bool kArgumentIntRegXorFpuReg = false;
 
+  static constexpr intptr_t kCalleeSaveCpuRegisters = kAbiPreservedCpuRegs;
+
   // Whether floating-point values should be passed as integers ("softfp" vs
   // "hardfp"). Android and iOS always use the "softfp" calling convention, even
   // when hardfp support is present.
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index 75ecfea..dca40c3 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -198,6 +198,8 @@
 
   static const bool kArgumentIntRegXorFpuReg = false;
 
+  static constexpr intptr_t kCalleeSaveCpuRegisters = kAbiPreservedCpuRegs;
+
   // Whether floating-point values should be passed as integers ("softfp" vs
   // "hardfp").
   static constexpr bool kAbiSoftFP = false;
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index d2cbb93..561b7f5 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -130,12 +130,16 @@
  public:
   static const Register ArgumentRegisters[];
   static const intptr_t kArgumentRegisters = 0;
+  static const intptr_t kFpuArgumentRegisters = 0;
   static const intptr_t kNumArgRegs = 0;
 
   static const XmmRegister FpuArgumentRegisters[];
   static const intptr_t kXmmArgumentRegisters = 0;
   static const intptr_t kNumFpuArgRegs = 0;
 
+  static constexpr intptr_t kCalleeSaveCpuRegisters =
+      (1 << EDI) | (1 << ESI) | (1 << EBX);
+
   static const bool kArgumentIntRegXorFpuReg = false;
 
   // Whether floating-point values should be passed as integers ("softfp" vs
diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc
index 72ab506..cc408ee 100644
--- a/runtime/vm/dart.cc
+++ b/runtime/vm/dart.cc
@@ -265,6 +265,7 @@
     Object::Init(vm_isolate_);
     ArgumentsDescriptor::Init();
     ICData::Init();
+    SubtypeTestCache::Init();
     if (vm_isolate_snapshot != NULL) {
 #if defined(SUPPORT_TIMELINE)
       TimelineDurationScope tds(Timeline::GetVMStream(), "ReadVMSnapshot");
@@ -576,6 +577,7 @@
   ASSERT(Isolate::IsolateListLength() == 0);
   PortMap::Cleanup();
   ICData::Cleanup();
+  SubtypeTestCache::Cleanup();
   ArgumentsDescriptor::Cleanup();
   TargetCPUFeatures::Cleanup();
   MarkingStack::Cleanup();
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 5d8dc50..81d31da 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -10,6 +10,7 @@
 
 #include "vm/code_patcher.h"
 #include "vm/compiler/assembler/disassembler.h"
+#include "vm/compiler/assembler/disassembler_kbc.h"
 #include "vm/compiler/frontend/bytecode_reader.h"
 #include "vm/compiler/jit/compiler.h"
 #include "vm/dart_entry.h"
@@ -745,16 +746,16 @@
   OS::PrintErr("pc_ %" Px "\n", pc_);
   OS::PrintErr("deopt_id_ %" Px "\n", deopt_id_);
   OS::PrintErr("context_level_ %" Px "\n", context_level_);
-  DisassembleToStdout formatter;
+  OS::PrintErr("token_pos_ %s\n", token_pos_.ToCString());
   if (function().is_declared_in_bytecode()) {
 #if !defined(DART_PRECOMPILED_RUNTIME)
-    ASSERT(function().HasBytecode());
-    const Bytecode& bytecode = Bytecode::Handle(function().bytecode());
-    bytecode.Disassemble(&formatter);
+    KernelBytecodeDisassembler::Disassemble(function());
 #else
     UNREACHABLE();
 #endif  // !defined(DART_PRECOMPILED_RUNTIME)
-  } else {
+  }
+  if (!IsInterpreted()) {
+    DisassembleToStdout formatter;
     code().Disassemble(&formatter);
     PcDescriptors::Handle(code().pc_descriptors()).Print();
   }
@@ -827,7 +828,7 @@
         }
       }
       if (!found) {
-        PrintDescriptorsError("Missing context level");
+        PrintDescriptorsError("Missing context level in var descriptors");
       }
       ASSERT(context_level_ >= 0);
     }
@@ -3230,12 +3231,6 @@
   Array& functions = Array::Handle(zone);
   GrowableObjectArray& closures = GrowableObjectArray::Handle(zone);
   Function& function = Function::Handle(zone);
-#if !defined(DART_PRECOMPILED_RUNTIME)
-  Bytecode& bytecode = Bytecode::Handle(zone);
-  ObjectPool& pool = ObjectPool::Handle(zone);
-  Object& object = Object::Handle(zone);
-  Function& closure = Function::Handle(zone);
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
 
   closures = isolate_->object_store()->closure_functions();
   const intptr_t num_closures = closures.Length();
@@ -3289,54 +3284,17 @@
           function ^= functions.At(pos);
           ASSERT(!function.IsNull());
           bool function_added = false;
-#if !defined(DART_PRECOMPILED_RUNTIME)
-          // Note that a non-debuggable async function may refer to a debuggable
-          // async op closure function via its object pool.
-          if (function.HasBytecode()) {
-            // Check token position first to avoid unnecessary calls
-            // to script() which allocates handles.
-            if (function.token_pos() <= start_pos &&
-                function.end_token_pos() >= end_pos &&
-                function.script() == script.raw()) {
-              // Record the function if the token range matches exactly.
-              if (function.is_debuggable() &&
-                  function.token_pos() == start_pos &&
-                  function.end_token_pos() == end_pos) {
-                bytecode_function_list->Add(function);
-                function_added = true;
-              }
-              // Visit the closures declared in a bytecode function by
-              // traversing its object pool, because they do not appear in the
-              // object store's list of closures.
-              ASSERT(!function.IsLocalFunction());
-              bytecode = function.bytecode();
-              pool = bytecode.object_pool();
-              for (intptr_t i = 0; i < pool.Length(); i++) {
-                ObjectPool::EntryType entry_type = pool.TypeAt(i);
-                if (entry_type != ObjectPool::EntryType::kTaggedObject) {
-                  continue;
-                }
-                object = pool.ObjectAt(i);
-                if (object.IsFunction()) {
-                  closure ^= object.raw();
-                  if (closure.kind() == RawFunction::kClosureFunction &&
-                      closure.IsLocalFunction() && closure.is_debuggable() &&
-                      closure.token_pos() == start_pos &&
-                      closure.end_token_pos() == end_pos) {
-                    ASSERT(closure.HasBytecode());
-                    ASSERT(closure.script() == script.raw());
-                    bytecode_function_list->Add(closure);
-                  }
-                }
-              }
-            }
-          }
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
-          if (function.is_debuggable() && function.HasCode() &&
+          if (function.is_debuggable() &&
+              (function.HasCode() || function.HasBytecode()) &&
               function.token_pos() == start_pos &&
               function.end_token_pos() == end_pos &&
               function.script() == script.raw()) {
-            code_function_list->Add(function);
+            if (function.HasBytecode()) {
+              bytecode_function_list->Add(function);
+            }
+            if (function.HasCode()) {
+              code_function_list->Add(function);
+            }
             function_added = true;
           }
           if (function_added && function.HasImplicitClosureFunction()) {
@@ -3586,6 +3544,7 @@
             FindExactTokenPosition(script, token_pos, requested_column);
 #endif  // !defined(DART_PRECOMPILED_RUNTIME)
       }
+      DeoptimizeWorld();
       // Since source positions may differ in code and bytecode, process
       // breakpoints in bytecode and code separately.
       BreakpointLocation* loc = NULL;
@@ -3595,7 +3554,6 @@
                                  exact_token_pos, bytecode_functions);
       }
       if (code_functions.Length() > 0) {
-        DeoptimizeWorld();
         loc = SetCodeBreakpoints(false, loc, script, token_pos, last_token_pos,
                                  requested_line, requested_column,
                                  exact_token_pos, code_functions);
@@ -4664,11 +4622,8 @@
 
 // Return innermost closure contained in 'function' that contains
 // the given token position.
-// Note: this should only be called for compiled functions and not for
-// bytecode functions.
 RawFunction* Debugger::FindInnermostClosure(const Function& function,
                                             TokenPosition token_pos) {
-  ASSERT(function.HasCode());
   Zone* zone = Thread::Current()->zone();
   const Script& outer_origin = Script::Handle(zone, function.script());
   const GrowableObjectArray& closures = GrowableObjectArray::Handle(
@@ -4736,16 +4691,26 @@
                                            loc->requested_column_number());
 #endif  // !defined(DART_PRECOMPILED_RUNTIME)
       }
-      if (bytecode_loaded) {
-        // func's bytecode was just loaded.
-        // If func has an inner closure, we got notified earlier.
-        // Therefore we will always resolve the breakpoint correctly to the
-        // innermost function without searching for it.
-      } else {
-        // func was just compiled.
-        const Function& inner_function =
-            Function::Handle(zone, FindInnermostClosure(func, token_pos));
-        if (!inner_function.IsNull()) {
+      const Function& inner_function =
+          Function::Handle(zone, FindInnermostClosure(func, token_pos));
+      if (!inner_function.IsNull()) {
+        if (bytecode_loaded) {
+          // func's bytecode was just loaded.
+          // If func is a closure and has an inner closure, the inner closure
+          // may not have been loaded yet.
+          if (inner_function.HasBytecode()) {
+            ASSERT(loc->IsResolved(bytecode_loaded));
+          } else {
+            if (FLAG_verbose_debug) {
+              OS::PrintErr(
+                  "Pending BP remains unresolved in inner bytecode function "
+                  "'%s'\n",
+                  inner_function.ToFullyQualifiedCString());
+            }
+          }
+          continue;
+        } else {
+          // func was just compiled.
           // The local function of a function we just compiled cannot
           // be compiled already.
           ASSERT(!inner_function.HasCode());
diff --git a/runtime/vm/ffi_callback_trampolines.cc b/runtime/vm/ffi_callback_trampolines.cc
new file mode 100644
index 0000000..5516ddb
--- /dev/null
+++ b/runtime/vm/ffi_callback_trampolines.cc
@@ -0,0 +1,93 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+#include "vm/ffi_callback_trampolines.h"
+#include "vm/code_comments.h"
+#include "vm/code_observers.h"
+#include "vm/compiler/assembler/assembler.h"
+#include "vm/compiler/assembler/disassembler.h"
+#include "vm/exceptions.h"
+
+namespace dart {
+
+DECLARE_FLAG(bool, disassemble_stubs);
+
+#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(TARGET_ARCH_DBC)
+uword NativeCallbackTrampolines::AllocateTrampoline() {
+#if defined(DART_PRECOMPILER)
+  ASSERT(!Enabled());
+  UNREACHABLE();
+#else
+
+  // Callback IDs are limited to 32-bits for trampoline compactness.
+  if (kWordSize == 8 &&
+      !Utils::IsInt(32, next_callback_id_ + NumCallbackTrampolinesPerPage())) {
+    Exceptions::ThrowOOM();
+  }
+
+  if (trampolines_left_on_page_ == 0) {
+    VirtualMemory* const memory = VirtualMemory::AllocateAligned(
+        /*size=*/VirtualMemory::PageSize(),
+        /*alignment=*/VirtualMemory::PageSize(),
+        /*is_executable=*/false, /*name=*/"Dart VM FFI callback trampolines");
+
+    if (memory == nullptr) {
+      Exceptions::ThrowOOM();
+    }
+
+    trampoline_pages_.Add(memory);
+
+    compiler::Assembler assembler(/*object_pool_builder=*/nullptr);
+    compiler::StubCodeCompiler::GenerateJITCallbackTrampolines(
+        &assembler, next_callback_id_);
+
+    MemoryRegion region(memory->address(), memory->size());
+    assembler.FinalizeInstructions(region);
+
+    memory->Protect(VirtualMemory::kReadExecute);
+
+#if !defined(PRODUCT)
+    const char* name = "FfiJitCallbackTrampolines";
+    ASSERT(!Thread::Current()->IsAtSafepoint());
+    if (CodeObservers::AreActive()) {
+      const auto& comments = CreateCommentsFrom(&assembler);
+      CodeCommentsWrapper wrapper(comments);
+      CodeObservers::NotifyAll(name,
+                               /*base=*/memory->start(),
+                               /*prologue_offset=*/0,
+                               /*size=*/assembler.CodeSize(),
+                               /*optimized=*/false,  // not really relevant
+                               &wrapper);
+    }
+#endif
+#if !defined(PRODUCT) || defined(FORCE_INCLUDE_DISASSEMBLER)
+    if (FLAG_disassemble_stubs && FLAG_support_disassembler) {
+      DisassembleToStdout formatter;
+      THR_Print(
+          "Code for native callback trampolines "
+          "[%" Pd " -> %" Pd "]: {\n",
+          next_callback_id_,
+          next_callback_id_ + NumCallbackTrampolinesPerPage() - 1);
+      const auto& comments = CreateCommentsFrom(&assembler);
+      Disassembler::Disassemble(memory->start(),
+                                memory->start() + assembler.CodeSize(),
+                                &formatter, &comments);
+    }
+#endif
+
+    next_callback_trampoline_ = memory->start();
+    trampolines_left_on_page_ = NumCallbackTrampolinesPerPage();
+  }
+
+  trampolines_left_on_page_--;
+  next_callback_id_++;
+  const uword entrypoint = next_callback_trampoline_;
+  next_callback_trampoline_ +=
+      compiler::StubCodeCompiler::kNativeCallbackTrampolineSize;
+  return entrypoint;
+#endif  // defined(DART_PRECOMPILER)
+}
+#endif  // !defined(DART_PRECOMPILED_RUNTIME) && !defined(TARGET_ARCH_DBC)
+
+}  // namespace dart
diff --git a/runtime/vm/ffi_callback_trampolines.h b/runtime/vm/ffi_callback_trampolines.h
new file mode 100644
index 0000000..65c2a37ec
--- /dev/null
+++ b/runtime/vm/ffi_callback_trampolines.h
@@ -0,0 +1,74 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+
+#include "platform/allocation.h"
+#include "platform/growable_array.h"
+#include "vm/compiler/stub_code_compiler.h"
+#include "vm/flag_list.h"
+#include "vm/virtual_memory.h"
+
+#ifndef RUNTIME_VM_FFI_CALLBACK_TRAMPOLINES_H_
+#define RUNTIME_VM_FFI_CALLBACK_TRAMPOLINES_H_
+
+namespace dart {
+
+#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(TARGET_ARCH_DBC)
+// In JIT mode, when write-protection is enabled without dual-mapping, we cannot
+// rely on Instructions generated in the Isolate's heap to be executable while
+// native code is running in a safepoint. This means that native code cannot
+// directly invoke FFI callback trampolines.
+//
+// To solve this, we create trampolines tied to consecutive sequences of
+// callback IDs which leave the safepoint before invoking the FFI callback,
+// and re-enter the safepoint on return from the callback.
+//
+// Since we can never map these trampolines RX -> RW, we eagerly generate as
+// many as will fit on a single page, since pages are the smallest granularity
+// of memory protection.
+//
+// See also:
+//  - StubCodeCompiler::GenerateJITCallbackTrampolines
+//  - {NativeEntryInstr, NativeReturnInstr}::EmitNativeCode
+DECLARE_FLAG(bool, write_protect_code);
+
+class NativeCallbackTrampolines : public ValueObject {
+ public:
+  static bool Enabled() { return !FLAG_precompiled_mode; }
+
+  static intptr_t NumCallbackTrampolinesPerPage() {
+    return (VirtualMemory::PageSize() -
+            compiler::StubCodeCompiler::kNativeCallbackSharedStubSize) /
+           compiler::StubCodeCompiler::kNativeCallbackTrampolineSize;
+  }
+
+  NativeCallbackTrampolines() {}
+  ~NativeCallbackTrampolines() {
+    // Unmap all the trampoline pages. 'VirtualMemory's are new-allocated.
+    for (intptr_t i = 0; i < trampoline_pages_.length(); ++i) {
+      delete trampoline_pages_[i];
+    }
+  }
+
+  // For each callback ID, we have an entry in Thread::ffi_callback_code_ and
+  // a trampoline here. These arrays must be kept in sync and this method is
+  // exposed to assert that.
+  intptr_t next_callback_id() const { return next_callback_id_; }
+
+  // Allocates a callback trampoline corresponding to the callback id
+  // 'next_callback_id()'. Returns an entrypoint to the trampoline.
+  uword AllocateTrampoline();
+
+ private:
+  MallocGrowableArray<VirtualMemory*> trampoline_pages_;
+  uword next_callback_trampoline_ = 0;
+  intptr_t trampolines_left_on_page_ = 0;
+  intptr_t next_callback_id_ = 0;
+
+  DISALLOW_COPY_AND_ASSIGN(NativeCallbackTrampolines);
+};
+#endif  // !defined(DART_PRECOMPILED_RUNTIME) && !defined(TARGET_ARCH_DBC)
+
+}  // namespace dart
+
+#endif  // RUNTIME_VM_FFI_CALLBACK_TRAMPOLINES_H_
diff --git a/runtime/vm/heap/heap.cc b/runtime/vm/heap/heap.cc
index 04b5b84..59a7e0b 100644
--- a/runtime/vm/heap/heap.cc
+++ b/runtime/vm/heap/heap.cc
@@ -44,7 +44,7 @@
       read_only_(false),
       gc_new_space_in_progress_(false),
       gc_old_space_in_progress_(false),
-      gc_on_next_allocation_(false) {
+      gc_on_nth_allocation_(kNoForcedGarbageCollection) {
   UpdateGlobalMaxUsed();
   for (int sel = 0; sel < kNumWeakSelectors; sel++) {
     new_weak_tables_[sel] = new WeakTable();
@@ -678,15 +678,22 @@
   old_space_.AddRegionsToObjectSet(set);
 }
 
-void Heap::CollectOnNextAllocation() {
+void Heap::CollectOnNthAllocation(intptr_t num_allocations) {
+  // Prevent generated code from using the TLAB fast path on next allocation.
   AbandonRemainingTLAB(Thread::Current());
-  gc_on_next_allocation_ = true;
+  gc_on_nth_allocation_ = num_allocations;
 }
 
 void Heap::CollectForDebugging() {
-  if (!gc_on_next_allocation_) return;
-  CollectAllGarbage(kDebugging);
-  gc_on_next_allocation_ = false;
+  if (gc_on_nth_allocation_ == kNoForcedGarbageCollection) return;
+  gc_on_nth_allocation_--;
+  if (gc_on_nth_allocation_ == 0) {
+    CollectAllGarbage(kDebugging);
+    gc_on_nth_allocation_ = kNoForcedGarbageCollection;
+  } else {
+    // Prevent generated code from using the TLAB fast path on next allocation.
+    AbandonRemainingTLAB(Thread::Current());
+  }
 }
 
 ObjectSet* Heap::CreateAllocatedObjectSet(
diff --git a/runtime/vm/heap/heap.h b/runtime/vm/heap/heap.h
index edfc176..7414467 100644
--- a/runtime/vm/heap/heap.h
+++ b/runtime/vm/heap/heap.h
@@ -311,7 +311,7 @@
   void AbandonRemainingTLAB(Thread* thread);
   Space SpaceForExternal(intptr_t size) const;
 
-  void CollectOnNextAllocation();
+  void CollectOnNthAllocation(intptr_t num_allocations);
 
  private:
   class GCStats : public ValueObject {
@@ -384,7 +384,7 @@
 
   void AddRegionsToObjectSet(ObjectSet* set) const;
 
-  // Trigger major GC if 'gc_on_next_allocation_' is set.
+  // Trigger major GC if 'gc_on_nth_allocation_' is set.
   void CollectForDebugging();
 
   Isolate* isolate_;
@@ -410,10 +410,12 @@
   bool gc_new_space_in_progress_;
   bool gc_old_space_in_progress_;
 
+  static const intptr_t kNoForcedGarbageCollection = -1;
+
   // Whether the next heap allocation (new or old) should trigger
   // CollectAllGarbage. Used within unit tests for testing GC on certain
   // sensitive codepaths.
-  bool gc_on_next_allocation_;
+  intptr_t gc_on_nth_allocation_;
 
   friend class Become;       // VisitObjectPointers
   friend class GCCompactor;  // VisitObjectPointers
diff --git a/runtime/vm/heap/marker.cc b/runtime/vm/heap/marker.cc
index 01149d5..be5a212 100644
--- a/runtime/vm/heap/marker.cc
+++ b/runtime/vm/heap/marker.cc
@@ -407,7 +407,7 @@
   if (mutator_thread != NULL) {
     Interpreter* interpreter = mutator_thread->interpreter();
     if (interpreter != NULL) {
-      interpreter->MajorGC();
+      interpreter->ClearLookupCache();
     }
   }
 #endif
diff --git a/runtime/vm/interpreter.cc b/runtime/vm/interpreter.cc
index 84c7eec..fa8075c 100644
--- a/runtime/vm/interpreter.cc
+++ b/runtime/vm/interpreter.cc
@@ -287,21 +287,25 @@
 
 bool LookupCache::Lookup(intptr_t receiver_cid,
                          RawString* function_name,
+                         RawArray* arguments_descriptor,
                          RawFunction** target) const {
   ASSERT(receiver_cid != kIllegalCid);  // Sentinel value.
 
-  const intptr_t hash =
-      receiver_cid ^ reinterpret_cast<intptr_t>(function_name);
+  const intptr_t hash = receiver_cid ^
+                        reinterpret_cast<intptr_t>(function_name) ^
+                        reinterpret_cast<intptr_t>(arguments_descriptor);
   const intptr_t probe1 = hash & kTableMask;
   if (entries_[probe1].receiver_cid == receiver_cid &&
-      entries_[probe1].function_name == function_name) {
+      entries_[probe1].function_name == function_name &&
+      entries_[probe1].arguments_descriptor == arguments_descriptor) {
     *target = entries_[probe1].target;
     return true;
   }
 
   intptr_t probe2 = (hash >> 3) & kTableMask;
   if (entries_[probe2].receiver_cid == receiver_cid &&
-      entries_[probe2].function_name == function_name) {
+      entries_[probe2].function_name == function_name &&
+      entries_[probe2].arguments_descriptor == arguments_descriptor) {
     *target = entries_[probe2].target;
     return true;
   }
@@ -311,17 +315,21 @@
 
 void LookupCache::Insert(intptr_t receiver_cid,
                          RawString* function_name,
+                         RawArray* arguments_descriptor,
                          RawFunction* target) {
   // Otherwise we have to clear the cache or rehash on scavenges too.
   ASSERT(function_name->IsOldObject());
+  ASSERT(arguments_descriptor->IsOldObject());
   ASSERT(target->IsOldObject());
 
-  const intptr_t hash =
-      receiver_cid ^ reinterpret_cast<intptr_t>(function_name);
+  const intptr_t hash = receiver_cid ^
+                        reinterpret_cast<intptr_t>(function_name) ^
+                        reinterpret_cast<intptr_t>(arguments_descriptor);
   const intptr_t probe1 = hash & kTableMask;
   if (entries_[probe1].receiver_cid == kIllegalCid) {
     entries_[probe1].receiver_cid = receiver_cid;
     entries_[probe1].function_name = function_name;
+    entries_[probe1].arguments_descriptor = arguments_descriptor;
     entries_[probe1].target = target;
     return;
   }
@@ -330,12 +338,14 @@
   if (entries_[probe2].receiver_cid == kIllegalCid) {
     entries_[probe2].receiver_cid = receiver_cid;
     entries_[probe2].function_name = function_name;
+    entries_[probe2].arguments_descriptor = arguments_descriptor;
     entries_[probe2].target = target;
     return;
   }
 
   entries_[probe1].receiver_cid = receiver_cid;
   entries_[probe1].function_name = function_name;
+  entries_[probe1].arguments_descriptor = arguments_descriptor;
   entries_[probe1].target = target;
 }
 
@@ -755,13 +765,13 @@
   argdesc_ = Array::RawCast(top[1]);
 }
 
-DART_FORCE_INLINE bool Interpreter::InterfaceCall(Thread* thread,
-                                                  RawString* target_name,
-                                                  RawObject** call_base,
-                                                  RawObject** top,
-                                                  const KBCInstr** pc,
-                                                  RawObject*** FP,
-                                                  RawObject*** SP) {
+DART_FORCE_INLINE bool Interpreter::InstanceCall(Thread* thread,
+                                                 RawString* target_name,
+                                                 RawObject** call_base,
+                                                 RawObject** top,
+                                                 const KBCInstr** pc,
+                                                 RawObject*** FP,
+                                                 RawObject*** SP) {
   const intptr_t type_args_len =
       InterpreterHelpers::ArgDescTypeArgsLen(argdesc_);
   const intptr_t receiver_idx = type_args_len > 0 ? 1 : 0;
@@ -770,7 +780,8 @@
       InterpreterHelpers::GetClassId(call_base[receiver_idx]);
 
   RawFunction* target;
-  if (UNLIKELY(!lookup_cache_.Lookup(receiver_cid, target_name, &target))) {
+  if (UNLIKELY(!lookup_cache_.Lookup(receiver_cid, target_name, argdesc_,
+                                     &target))) {
     // Table lookup miss.
     top[0] = 0;  // Clean up slot as it may be visited by GC.
     top[1] = call_base[receiver_idx];
@@ -781,7 +792,7 @@
     Exit(thread, *FP, top + 5, *pc);
     NativeArguments native_args(thread, 3, /* argv */ top + 1,
                                 /* result */ top + 4);
-    if (!InvokeRuntime(thread, this, DRT_InterpretedInterfaceCallMissHandler,
+    if (!InvokeRuntime(thread, this, DRT_InterpretedInstanceCallMissHandler,
                        native_args)) {
       return false;
     }
@@ -790,106 +801,13 @@
     target_name = static_cast<RawString*>(top[2]);
     argdesc_ = static_cast<RawArray*>(top[3]);
     ASSERT(target->IsFunction());
-    lookup_cache_.Insert(receiver_cid, target_name, target);
+    lookup_cache_.Insert(receiver_cid, target_name, argdesc_, target);
   }
 
   top[0] = target;
   return Invoke(thread, call_base, top, pc, FP, SP);
 }
 
-DART_FORCE_INLINE bool Interpreter::InstanceCall1(Thread* thread,
-                                                  RawICData* icdata,
-                                                  RawObject** call_base,
-                                                  RawObject** top,
-                                                  const KBCInstr** pc,
-                                                  RawObject*** FP,
-                                                  RawObject*** SP,
-                                                  bool optimized) {
-  ASSERT(icdata->GetClassId() == kICDataCid);
-
-  const intptr_t kCheckedArgs = 1;
-  RawObject** args = call_base;
-  RawArray* cache = icdata->ptr()->entries_->ptr();
-
-  const intptr_t type_args_len =
-      InterpreterHelpers::ArgDescTypeArgsLen(icdata->ptr()->args_descriptor_);
-  const intptr_t receiver_idx = type_args_len > 0 ? 1 : 0;
-  RawSmi* receiver_cid =
-      InterpreterHelpers::GetClassIdAsSmi(args[receiver_idx]);
-
-  bool found = false;
-  const intptr_t length = Smi::Value(cache->length_);
-  intptr_t i;
-  for (i = 0; i < (length - (kCheckedArgs + 2)); i += (kCheckedArgs + 2)) {
-    if (cache->data()[i + 0] == receiver_cid) {
-      top[0] = cache->data()[i + ICData::TargetIndexFor(kCheckedArgs)];
-      found = true;
-      break;
-    }
-  }
-
-  argdesc_ = icdata->ptr()->args_descriptor_;
-
-  if (found) {
-    if (!optimized) {
-      InterpreterHelpers::IncrementICUsageCount(cache->data(), i, kCheckedArgs);
-    }
-  } else {
-    InlineCacheMiss(kCheckedArgs, thread, icdata, call_base + receiver_idx, top,
-                    *pc, *FP, *SP);
-  }
-
-  return Invoke(thread, call_base, top, pc, FP, SP);
-}
-
-DART_FORCE_INLINE bool Interpreter::InstanceCall2(Thread* thread,
-                                                  RawICData* icdata,
-                                                  RawObject** call_base,
-                                                  RawObject** top,
-                                                  const KBCInstr** pc,
-                                                  RawObject*** FP,
-                                                  RawObject*** SP,
-                                                  bool optimized) {
-  ASSERT(icdata->GetClassId() == kICDataCid);
-
-  const intptr_t kCheckedArgs = 2;
-  RawObject** args = call_base;
-  RawArray* cache = icdata->ptr()->entries_->ptr();
-
-  const intptr_t type_args_len =
-      InterpreterHelpers::ArgDescTypeArgsLen(icdata->ptr()->args_descriptor_);
-  const intptr_t receiver_idx = type_args_len > 0 ? 1 : 0;
-  RawSmi* receiver_cid =
-      InterpreterHelpers::GetClassIdAsSmi(args[receiver_idx]);
-  RawSmi* arg0_cid =
-      InterpreterHelpers::GetClassIdAsSmi(args[receiver_idx + 1]);
-
-  bool found = false;
-  const intptr_t length = Smi::Value(cache->length_);
-  intptr_t i;
-  for (i = 0; i < (length - (kCheckedArgs + 2)); i += (kCheckedArgs + 2)) {
-    if ((cache->data()[i + 0] == receiver_cid) &&
-        (cache->data()[i + 1] == arg0_cid)) {
-      top[0] = cache->data()[i + ICData::TargetIndexFor(kCheckedArgs)];
-      found = true;
-      break;
-    }
-  }
-
-  argdesc_ = icdata->ptr()->args_descriptor_;
-
-  if (found) {
-    if (!optimized) {
-      InterpreterHelpers::IncrementICUsageCount(cache->data(), i, kCheckedArgs);
-    }
-  } else {
-    InlineCacheMiss(kCheckedArgs, thread, icdata, call_base + receiver_idx, top,
-                    *pc, *FP, *SP);
-  }
-
-  return Invoke(thread, call_base, top, pc, FP, SP);
-}
-
 // Note:
 // All macro helpers are intended to be used only inside Interpreter::Call.
 
@@ -1985,8 +1903,8 @@
       RawString* target_name =
           static_cast<RawFunction*>(LOAD_CONSTANT(kidx))->ptr()->name_;
       argdesc_ = static_cast<RawArray*>(LOAD_CONSTANT(kidx + 1));
-      if (!InterfaceCall(thread, target_name, call_base, call_top, &pc, &FP,
-                         &SP)) {
+      if (!InstanceCall(thread, target_name, call_base, call_top, &pc, &FP,
+                        &SP)) {
         HANDLE_EXCEPTION;
       }
     }
@@ -2007,8 +1925,8 @@
       RawString* target_name =
           static_cast<RawFunction*>(LOAD_CONSTANT(kidx))->ptr()->name_;
       argdesc_ = static_cast<RawArray*>(LOAD_CONSTANT(kidx + 1));
-      if (!InterfaceCall(thread, target_name, call_base, call_top, &pc, &FP,
-                         &SP)) {
+      if (!InstanceCall(thread, target_name, call_base, call_top, &pc, &FP,
+                        &SP)) {
         HANDLE_EXCEPTION;
       }
     }
@@ -2057,8 +1975,8 @@
       RawString* target_name =
           static_cast<RawFunction*>(LOAD_CONSTANT(kidx))->ptr()->name_;
       argdesc_ = static_cast<RawArray*>(LOAD_CONSTANT(kidx + 1));
-      if (!InterfaceCall(thread, target_name, call_base, call_top, &pc, &FP,
-                         &SP)) {
+      if (!InstanceCall(thread, target_name, call_base, call_top, &pc, &FP,
+                        &SP)) {
         HANDLE_EXCEPTION;
       }
     }
@@ -2076,21 +1994,13 @@
       RawObject** call_base = SP - argc + 1;
       RawObject** call_top = SP + 1;
 
-      RawICData* icdata = RAW_CAST(ICData, LOAD_CONSTANT(kidx));
-      InterpreterHelpers::IncrementUsageCounter(
-          RAW_CAST(Function, icdata->ptr()->owner_));
-      if (ICData::NumArgsTestedBits::decode(icdata->ptr()->state_bits_) == 1) {
-        if (!InstanceCall1(thread, icdata, call_base, call_top, &pc, &FP, &SP,
-                           false /* optimized */)) {
-          HANDLE_EXCEPTION;
-        }
-      } else {
-        ASSERT(ICData::NumArgsTestedBits::decode(icdata->ptr()->state_bits_) ==
-               2);
-        if (!InstanceCall2(thread, icdata, call_base, call_top, &pc, &FP, &SP,
-                           false /* optimized */)) {
-          HANDLE_EXCEPTION;
-        }
+      InterpreterHelpers::IncrementUsageCounter(FrameFunction(FP));
+      RawUnlinkedCall* selector = RAW_CAST(UnlinkedCall, LOAD_CONSTANT(kidx));
+      RawString* target_name = selector->ptr()->target_name_;
+      argdesc_ = selector->ptr()->args_descriptor_;
+      if (!InstanceCall(thread, target_name, call_base, call_top, &pc, &FP,
+                        &SP)) {
+        HANDLE_EXCEPTION;
       }
     }
 
diff --git a/runtime/vm/interpreter.h b/runtime/vm/interpreter.h
index a8e393f..fd40ec5 100644
--- a/runtime/vm/interpreter.h
+++ b/runtime/vm/interpreter.h
@@ -40,17 +40,19 @@
   void Clear();
   bool Lookup(intptr_t receiver_cid,
               RawString* function_name,
+              RawArray* arguments_descriptor,
               RawFunction** target) const;
   void Insert(intptr_t receiver_cid,
               RawString* function_name,
+              RawArray* arguments_descriptor,
               RawFunction* target);
 
  private:
   struct Entry {
     intptr_t receiver_cid;
     RawString* function_name;
+    RawArray* arguments_descriptor;
     RawFunction* target;
-    intptr_t padding;
   };
 
   static const intptr_t kNumEntries = 1024;
@@ -120,7 +122,7 @@
   void Unexit(Thread* thread);
 
   void VisitObjectPointers(ObjectPointerVisitor* visitor);
-  void MajorGC() { lookup_cache_.Clear(); }
+  void ClearLookupCache() { lookup_cache_.Clear(); }
 
 #ifndef PRODUCT
   void set_is_debugging(bool value) { is_debugging_ = value; }
@@ -183,31 +185,13 @@
                        RawObject** FP,
                        RawObject** SP);
 
-  bool InterfaceCall(Thread* thread,
-                     RawString* target_name,
-                     RawObject** call_base,
-                     RawObject** call_top,
-                     const KBCInstr** pc,
-                     RawObject*** FP,
-                     RawObject*** SP);
-
-  bool InstanceCall1(Thread* thread,
-                     RawICData* icdata,
-                     RawObject** call_base,
-                     RawObject** call_top,
-                     const KBCInstr** pc,
-                     RawObject*** FP,
-                     RawObject*** SP,
-                     bool optimized);
-
-  bool InstanceCall2(Thread* thread,
-                     RawICData* icdata,
-                     RawObject** call_base,
-                     RawObject** call_top,
-                     const KBCInstr** pc,
-                     RawObject*** FP,
-                     RawObject*** SP,
-                     bool optimized);
+  bool InstanceCall(Thread* thread,
+                    RawString* target_name,
+                    RawObject** call_base,
+                    RawObject** call_top,
+                    const KBCInstr** pc,
+                    RawObject*** FP,
+                    RawObject*** SP);
 
   bool CopyParameters(Thread* thread,
                       const KBCInstr** pc,
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index a240829..a31c59b 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -53,6 +53,11 @@
 #include "vm/timeline_analysis.h"
 #include "vm/visitor.h"
 
+#if !defined(DART_PRECOMPILED_RUNTIME)
+#include "vm/compiler/assembler/assembler.h"
+#include "vm/compiler/stub_code_compiler.h"
+#endif
+
 namespace dart {
 
 DECLARE_FLAG(bool, print_metrics);
@@ -73,7 +78,7 @@
     FLAG_background_compilation = false;  // Timing dependent.
     FLAG_concurrent_mark = false;         // Timing dependent.
     FLAG_concurrent_sweep = false;        // Timing dependent.
-    FLAG_random_seed = 0x44617274;  // "Dart"
+    FLAG_random_seed = 0x44617274;        // "Dart"
 #if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME)
     FLAG_load_deferred_eagerly = true;
 #else
@@ -1052,6 +1057,9 @@
       ic_miss_code_(Code::null()),
       class_table_(),
       store_buffer_(new StoreBuffer()),
+#if !defined(TARGET_ARCH_DBC) && !defined(DART_PRECOMPILED_RUNTIME)
+      native_callback_trampolines_(),
+#endif
 #if !defined(PRODUCT)
       last_resume_timestamp_(OS::GetCurrentTimeMillis()),
       vm_tag_counters_(),
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
index 12d341c..e8df2bb 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -19,6 +19,7 @@
 #include "vm/class_table.h"
 #include "vm/constants_kbc.h"
 #include "vm/exceptions.h"
+#include "vm/ffi_callback_trampolines.h"
 #include "vm/fixed_cache.h"
 #include "vm/growable_array.h"
 #include "vm/handles.h"
@@ -32,6 +33,7 @@
 #include "vm/thread.h"
 #include "vm/thread_stack_resource.h"
 #include "vm/token_position.h"
+#include "vm/virtual_memory.h"
 
 namespace dart {
 
@@ -404,6 +406,12 @@
   void set_init_callback_data(void* value) { init_callback_data_ = value; }
   void* init_callback_data() const { return init_callback_data_; }
 
+#if !defined(TARGET_ARCH_DBC) && !defined(DART_PRECOMPILED_RUNTIME)
+  NativeCallbackTrampolines* native_callback_trampolines() {
+    return &native_callback_trampolines_;
+  }
+#endif
+
   Dart_EnvironmentCallback environment_callback() const {
     return environment_callback_;
   }
@@ -898,7 +906,7 @@
 
 #if defined(PRODUCT)
   void set_use_osr(bool use_osr) { ASSERT(!use_osr); }
-#else  // defined(PRODUCT)
+#else   // defined(PRODUCT)
   void set_use_osr(bool use_osr) {
     isolate_flags_ = UseOsrBit::update(use_osr, isolate_flags_);
   }
@@ -1029,6 +1037,10 @@
   Heap* heap_ = nullptr;
   IsolateGroup* isolate_group_ = nullptr;
 
+#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(TARGET_ARCH_DBC)
+  NativeCallbackTrampolines native_callback_trampolines_;
+#endif
+
 #define ISOLATE_FLAG_BITS(V)                                                   \
   V(ErrorsFatal)                                                               \
   V(IsRunnable)                                                                \
@@ -1085,23 +1097,14 @@
   VMTagCounters vm_tag_counters_;
 
   // We use 6 list entries for each pending service extension calls.
-  enum {
-    kPendingHandlerIndex = 0,
-    kPendingMethodNameIndex,
-    kPendingKeysIndex,
-    kPendingValuesIndex,
-    kPendingReplyPortIndex,
-    kPendingIdIndex,
-    kPendingEntrySize
-  };
+  enum {kPendingHandlerIndex = 0, kPendingMethodNameIndex, kPendingKeysIndex,
+        kPendingValuesIndex,      kPendingReplyPortIndex,  kPendingIdIndex,
+        kPendingEntrySize};
   RawGrowableObjectArray* pending_service_extension_calls_;
 
   // We use 2 list entries for each registered extension handler.
-  enum {
-    kRegisteredNameIndex = 0,
-    kRegisteredHandlerIndex,
-    kRegisteredEntrySize
-  };
+  enum {kRegisteredNameIndex = 0, kRegisteredHandlerIndex,
+        kRegisteredEntrySize};
   RawGrowableObjectArray* registered_service_extension_handlers_;
 
   Metric* metrics_list_head_ = nullptr;
@@ -1214,13 +1217,13 @@
   REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
 #undef REUSABLE_FRIEND_DECLARATION
 
-  friend class Become;    // VisitObjectPointers
+  friend class Become;       // VisitObjectPointers
   friend class GCCompactor;  // VisitObjectPointers
-  friend class GCMarker;  // VisitObjectPointers
+  friend class GCMarker;     // VisitObjectPointers
   friend class SafepointHandler;
-  friend class ObjectGraph;  // VisitObjectPointers
+  friend class ObjectGraph;         // VisitObjectPointers
   friend class HeapSnapshotWriter;  // VisitObjectPointers
-  friend class Scavenger;    // VisitObjectPointers
+  friend class Scavenger;           // VisitObjectPointers
   friend class HeapIterationScope;  // VisitObjectPointers
   friend class ServiceIsolate;
   friend class Thread;
diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc
index 87cfc24..c4bbc70 100644
--- a/runtime/vm/isolate_reload.cc
+++ b/runtime/vm/isolate_reload.cc
@@ -1890,7 +1890,7 @@
   while (frame != NULL) {
     if (frame->is_interpreted()) {
       bytecode = frame->LookupDartBytecode();
-      resetter.ResetICDatas(bytecode);
+      resetter.RebindStaticTargets(bytecode);
     } else {
       code = frame->LookupDartCode();
       if (code.is_optimized() && !code.is_force_optimized()) {
@@ -1901,10 +1901,10 @@
         code = function.unoptimized_code();
         ASSERT(!code.IsNull());
         resetter.ResetSwitchableCalls(code);
-        resetter.ResetICDatas(code);
+        resetter.ResetCaches(code);
       } else {
         resetter.ResetSwitchableCalls(code);
-        resetter.ResetICDatas(code);
+        resetter.ResetCaches(code);
       }
     }
     frame = iterator.NextFrame();
@@ -1933,7 +1933,11 @@
     }
     const Object& handle = Object::Handle(zone_, obj);
     if (handle.IsFunction()) {
-      functions_->Add(&Function::Cast(handle));
+      const auto& func = Function::Cast(handle);
+      if (!func.ForceOptimize()) {
+        // Force-optimized functions cannot deoptimize.
+        functions_->Add(&func);
+      }
     } else if (handle.IsKernelProgramInfo()) {
       kernel_infos_->Add(&KernelProgramInfo::Cast(handle));
     }
@@ -1954,6 +1958,14 @@
   StackZone stack_zone(thread);
   Zone* zone = stack_zone.GetZone();
 
+  Thread* mutator_thread = isolate()->mutator_thread();
+  if (mutator_thread != nullptr) {
+    Interpreter* interpreter = mutator_thread->interpreter();
+    if (interpreter != nullptr) {
+      interpreter->ClearLookupCache();
+    }
+  }
+
   GrowableArray<const Function*> functions(4 * KB);
   GrowableArray<const KernelProgramInfo*> kernel_infos(KB);
 
@@ -1984,6 +1996,10 @@
       table.Clear();
       info.set_classes_cache(table.Release());
     }
+    // Clear the bytecode object table.
+    if (info.bytecode_component() != Array::null()) {
+      kernel::BytecodeReader::ResetObjectTable(info);
+    }
   }
 
   CallSiteResetter resetter(zone);
@@ -2016,9 +2032,7 @@
     resetter.ZeroEdgeCounters(func);
 
     if (!bytecode.IsNull()) {
-      // We are preserving the bytecode, fill all ICData arrays with
-      // the sentinel values so that we have no stale type feedback.
-      resetter.ResetICDatas(bytecode);
+      resetter.RebindStaticTargets(bytecode);
     }
 
     if (stub_code) {
@@ -2031,10 +2045,10 @@
       func.ClearCode();
       func.SetWasCompiled(false);
     } else {
-      // We are preserving the unoptimized code, fill all ICData arrays with
-      // the sentinel values so that we have no stale type feedback.
+      // We are preserving the unoptimized code, reset instance calls and type
+      // test caches.
       resetter.ResetSwitchableCalls(code);
-      resetter.ResetICDatas(code);
+      resetter.ResetCaches(code);
     }
 
     // Clear counters.
diff --git a/runtime/vm/isolate_reload.h b/runtime/vm/isolate_reload.h
index 6937915..3f8fa18 100644
--- a/runtime/vm/isolate_reload.h
+++ b/runtime/vm/isolate_reload.h
@@ -377,9 +377,9 @@
   explicit CallSiteResetter(Zone* zone);
 
   void ZeroEdgeCounters(const Function& function);
-  void ResetICDatas(const Code& code);
-  void ResetICDatas(const Bytecode& code);
-  void ResetICDatas(const ObjectPool& pool);
+  void ResetCaches(const Code& code);
+  void ResetCaches(const ObjectPool& pool);
+  void RebindStaticTargets(const Bytecode& code);
   void Reset(const ICData& ic);
   void ResetSwitchableCalls(const Code& code);
 
diff --git a/runtime/vm/kernel.cc b/runtime/vm/kernel.cc
index 804d3e1..9e6af12 100644
--- a/runtime/vm/kernel.cc
+++ b/runtime/vm/kernel.cc
@@ -326,9 +326,9 @@
 }
 
 void CollectTokenPositionsFor(const Script& interesting_script) {
-  ASSERT(interesting_script.url() != String::null());
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
+  interesting_script.LookupSourceAndLineStarts(zone);
   TranslationHelper helper(thread);
   helper.InitFromScript(interesting_script);
 
@@ -383,6 +383,8 @@
               continue;
             }
             if (temp_field.is_declared_in_bytecode()) {
+              token_positions.Add(temp_field.token_pos().value());
+              token_positions.Add(temp_field.end_token_pos().value());
               if (temp_field.is_static() && temp_field.has_initializer()) {
                 temp_function = temp_field.EnsureInitializerFunction();
                 CollectBytecodeFunctionTokenPositions(temp_function,
@@ -463,6 +465,8 @@
           continue;
         }
         if (field.is_declared_in_bytecode()) {
+          token_positions.Add(field.token_pos().value());
+          token_positions.Add(field.end_token_pos().value());
           if (field.is_static() && field.has_initializer()) {
             temp_function = field.EnsureInitializerFunction();
             CollectBytecodeFunctionTokenPositions(temp_function,
diff --git a/runtime/vm/kernel_loader.cc b/runtime/vm/kernel_loader.cc
index 18c135f..44c558a 100644
--- a/runtime/vm/kernel_loader.cc
+++ b/runtime/vm/kernel_loader.cc
@@ -822,6 +822,7 @@
   // Load the "evaluate:source" expression evaluation library.
   ASSERT(expression_evaluation_library_.IsNull());
   ASSERT(H.GetExpressionEvaluationFunction().IsNull());
+  H.SetExpressionEvaluationRealClass(real_class);
   const Object& result = Object::Handle(Z, LoadProgram(true));
   if (result.IsError()) {
     return result.raw();
diff --git a/runtime/vm/megamorphic_cache_table.cc b/runtime/vm/megamorphic_cache_table.cc
index e974932..3edc7b2 100644
--- a/runtime/vm/megamorphic_cache_table.cc
+++ b/runtime/vm/megamorphic_cache_table.cc
@@ -5,6 +5,7 @@
 #include "vm/megamorphic_cache_table.h"
 
 #include <stdlib.h>
+#include "vm/compiler/jit/compiler.h"
 #include "vm/object.h"
 #include "vm/object_store.h"
 #include "vm/stub_code.h"
@@ -12,9 +13,11 @@
 
 namespace dart {
 
-RawMegamorphicCache* MegamorphicCacheTable::Lookup(Isolate* isolate,
-                                                   const String& name,
-                                                   const Array& descriptor) {
+RawMegamorphicCache* MegamorphicCacheTable::LookupOriginal(
+    Thread* thread,
+    const String& name,
+    const Array& descriptor) {
+  Isolate* isolate = thread->isolate();
   // Multiple compilation threads could access this lookup.
   SafepointMutexLocker ml(isolate->megamorphic_mutex());
   ASSERT(name.IsSymbol());
@@ -42,6 +45,31 @@
   return cache.raw();
 }
 
+RawMegamorphicCache* MegamorphicCacheTable::LookupClone(
+    Thread* thread,
+    const String& name,
+    const Array& descriptor) {
+  if (!Compiler::IsBackgroundCompilation()) {
+    return LookupOriginal(thread, name, descriptor);
+  }
+
+  auto& cloned_caches = thread->compiler_state().cloned_megamorphic_caches();
+  for (intptr_t i = 0; i < cloned_caches.length(); i++) {
+    const MegamorphicCache& cache = *cloned_caches[i];
+    if ((cache.target_name() == name.raw()) &&
+        (cache.arguments_descriptor() == descriptor.raw())) {
+      return cache.raw();
+    }
+  }
+
+  const auto& original =
+      MegamorphicCache::Handle(LookupOriginal(thread, name, descriptor));
+  const auto& clone =
+      MegamorphicCache::ZoneHandle(MegamorphicCache::Clone(original));
+  cloned_caches.Add(&clone);
+  return clone.raw();
+}
+
 RawFunction* MegamorphicCacheTable::miss_handler(Isolate* isolate) {
   ASSERT(isolate->object_store()->megamorphic_miss_function() !=
          Function::null());
diff --git a/runtime/vm/megamorphic_cache_table.h b/runtime/vm/megamorphic_cache_table.h
index 437fff7..c3c40d5 100644
--- a/runtime/vm/megamorphic_cache_table.h
+++ b/runtime/vm/megamorphic_cache_table.h
@@ -23,6 +23,7 @@
 class RawMegamorphicCache;
 class RawString;
 class String;
+class Thread;
 
 class MegamorphicCacheTable : public AllStatic {
  public:
@@ -38,9 +39,16 @@
       static void ReInitMissHandlerCode(Isolate* isolate,
                                         compiler::ObjectPoolBuilder* wrapper));
 
-  static RawMegamorphicCache* Lookup(Isolate* isolate,
-                                     const String& name,
-                                     const Array& descriptor);
+  // Lookup a cache for querying type feedback. The result may not be mutated by
+  // another thread.
+  static RawMegamorphicCache* LookupClone(Thread* thread,
+                                          const String& name,
+                                          const Array& descriptor);
+  // Lookup a cache for insertion into compiled code. The result may be mutated
+  // by the another thread.
+  static RawMegamorphicCache* LookupOriginal(Thread* thread,
+                                             const String& name,
+                                             const Array& descriptor);
 
   static void PrintSizes(Isolate* isolate);
 };
diff --git a/runtime/vm/native_api_impl.cc b/runtime/vm/native_api_impl.cc
index d87bb5a..2739b43 100644
--- a/runtime/vm/native_api_impl.cc
+++ b/runtime/vm/native_api_impl.cc
@@ -251,12 +251,15 @@
 DART_EXPORT void* Dart_ExecuteInternalCommand(const char* command, void* arg) {
   if (!FLAG_enable_testing_pragmas) return nullptr;
 
-  if (!strcmp(command, "gc-on-next-allocation")) {
+  if (!strcmp(command, "gc-on-nth-allocation")) {
     TransitionNativeToVM _(Thread::Current());
-    Isolate::Current()->heap()->CollectOnNextAllocation();
+    intptr_t argument = reinterpret_cast<intptr_t>(arg);
+    ASSERT(argument > 0);
+    Isolate::Current()->heap()->CollectOnNthAllocation(argument);
     return nullptr;
 
   } else if (!strcmp(command, "gc-now")) {
+    ASSERT(arg == nullptr);  // Don't pass an argument to this command.
     TransitionNativeToVM _(Thread::Current());
     Isolate::Current()->heap()->CollectAllGarbage();
     return nullptr;
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index b9322cf..93e43d5 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -12,6 +12,7 @@
 #include "vm/bit_vector.h"
 #include "vm/bootstrap.h"
 #include "vm/class_finalizer.h"
+#include "vm/code_comments.h"
 #include "vm/code_observers.h"
 #include "vm/compiler/aot/precompiler.h"
 #include "vm/compiler/assembler/assembler.h"
@@ -99,6 +100,8 @@
 
 // A cache of VM heap allocated preinitialized empty ic data entry arrays.
 RawArray* ICData::cached_icdata_arrays_[kCachedICDataArrayCount];
+// A VM heap allocated preinitialized empty subtype entry array.
+RawArray* SubtypeTestCache::cached_array_;
 
 cpp_vtable Object::handle_vtable_ = 0;
 cpp_vtable Object::builtin_vtables_[kNumPredefinedCids] = {0};
@@ -7970,7 +7973,7 @@
       // (3) "var foo = () => null;": End token is `;', but in this case the
       // token semicolon belongs to the assignment so we skip it.
       const String& src = String::Handle(func_script.Source());
-      if (src.IsNull()) {
+      if (src.IsNull() || src.Length() == 0) {
         return Symbols::OptimizedOut().raw();
       }
       uint16_t end_char = src.CharAt(end_token_pos().value());
@@ -9369,63 +9372,93 @@
   return program_info.string_offsets();
 }
 
+void Script::LookupSourceAndLineStarts(Zone* zone) const {
+#if !defined(DART_PRECOMPILED_RUNTIME)
+  if (Source() == String::null()) {
+    // This is a script without source info.
+    return;
+  }
+  const String& uri = String::Handle(zone, resolved_url());
+  ASSERT(uri.IsSymbol());
+  if (uri.Length() > 0 && Source() == Symbols::Empty().raw()) {
+    // Entry included only to provide URI - actual source should already exist
+    // in the VM, so try to find it.
+    Library& lib = Library::Handle(zone);
+    Script& script = Script::Handle(zone);
+    const GrowableObjectArray& libs = GrowableObjectArray::Handle(
+        zone, Isolate::Current()->object_store()->libraries());
+    for (intptr_t i = 0; i < libs.Length(); i++) {
+      lib ^= libs.At(i);
+      script = lib.LookupScript(uri, /* useResolvedUri = */ true);
+      if (!script.IsNull() && script.kind() == RawScript::kKernelTag &&
+          script.Source() != Symbols::Empty().raw()) {
+        set_source(String::Handle(zone, script.Source()));
+        set_line_starts(TypedData::Handle(zone, script.line_starts()));
+        // Note that we may find a script without source info (null source).
+        // We will not repeat the lookup in this case.
+        return;
+      }
+    }
+    set_source(Object::null_string());
+    // No script found. Set source to null to prevent further lookup.
+  }
+#endif  // !defined(DART_PRECOMPILED_RUNTIME)
+}
+
 RawGrowableObjectArray* Script::GenerateLineNumberArray() const {
+  ASSERT(kind() == RawScript::kKernelTag);
   Zone* zone = Thread::Current()->zone();
   const GrowableObjectArray& info =
       GrowableObjectArray::Handle(zone, GrowableObjectArray::New());
   const Object& line_separator = Object::Handle(zone);
-
-  if (kind() == RawScript::kKernelTag) {
-    const TypedData& line_starts_data = TypedData::Handle(zone, line_starts());
-    if (line_starts_data.IsNull()) {
-      // Scripts in the AOT snapshot do not have a line starts array.
-      // A well-formed line number array has a leading null.
-      info.Add(line_separator);  // New line.
-      return info.raw();
-    }
-#if !defined(DART_PRECOMPILED_RUNTIME)
-    Smi& value = Smi::Handle(zone);
-    intptr_t line_count = line_starts_data.Length();
-    const Array& debug_positions_array = Array::Handle(debug_positions());
-    intptr_t token_count = debug_positions_array.Length();
-    int token_index = 0;
-
-    kernel::KernelLineStartsReader line_starts_reader(line_starts_data, zone);
-    intptr_t previous_start = 0;
-    for (int line_index = 0; line_index < line_count; ++line_index) {
-      intptr_t start = previous_start + line_starts_reader.DeltaAt(line_index);
-      // Output the rest of the tokens if we have no next line.
-      intptr_t end = TokenPosition::kMaxSourcePos;
-      if (line_index + 1 < line_count) {
-        end = start + line_starts_reader.DeltaAt(line_index + 1);
-      }
-      bool first = true;
-      while (token_index < token_count) {
-        value ^= debug_positions_array.At(token_index);
-        intptr_t debug_position = value.Value();
-        if (debug_position >= end) break;
-
-        if (first) {
-          info.Add(line_separator);          // New line.
-          value = Smi::New(line_index + 1);  // Line number.
-          info.Add(value);
-          first = false;
-        }
-
-        value ^= debug_positions_array.At(token_index);
-        info.Add(value);                               // Token position.
-        value = Smi::New(debug_position - start + 1);  // Column.
-        info.Add(value);
-        ++token_index;
-      }
-      previous_start = start;
-    }
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
+  LookupSourceAndLineStarts(zone);
+  if (line_starts() == TypedData::null()) {
+    // Scripts in the AOT snapshot do not have a line starts array.
+    // Neither do some scripts coming from bytecode.
+    // A well-formed line number array has a leading null.
+    info.Add(line_separator);  // New line.
     return info.raw();
   }
+#if !defined(DART_PRECOMPILED_RUNTIME)
+  Smi& value = Smi::Handle(zone);
+  const TypedData& line_starts_data = TypedData::Handle(zone, line_starts());
+  intptr_t line_count = line_starts_data.Length();
+  const Array& debug_positions_array = Array::Handle(debug_positions());
+  intptr_t token_count = debug_positions_array.Length();
+  int token_index = 0;
 
-  UNREACHABLE();
-  return GrowableObjectArray::null();
+  kernel::KernelLineStartsReader line_starts_reader(line_starts_data, zone);
+  intptr_t previous_start = 0;
+  for (int line_index = 0; line_index < line_count; ++line_index) {
+    intptr_t start = previous_start + line_starts_reader.DeltaAt(line_index);
+    // Output the rest of the tokens if we have no next line.
+    intptr_t end = TokenPosition::kMaxSourcePos;
+    if (line_index + 1 < line_count) {
+      end = start + line_starts_reader.DeltaAt(line_index + 1);
+    }
+    bool first = true;
+    while (token_index < token_count) {
+      value ^= debug_positions_array.At(token_index);
+      intptr_t debug_position = value.Value();
+      if (debug_position >= end) break;
+
+      if (first) {
+        info.Add(line_separator);          // New line.
+        value = Smi::New(line_index + 1);  // Line number.
+        info.Add(value);
+        first = false;
+      }
+
+      value ^= debug_positions_array.At(token_index);
+      info.Add(value);                               // Token position.
+      value = Smi::New(debug_position - start + 1);  // Column.
+      info.Add(value);
+      ++token_index;
+    }
+    previous_start = start;
+  }
+#endif  // !defined(DART_PRECOMPILED_RUNTIME)
+  return info.raw();
 }
 
 const char* Script::GetKindAsCString() const {
@@ -9579,80 +9612,76 @@
   ASSERT(line != NULL);
   Zone* zone = Thread::Current()->zone();
 
-  if (kind() == RawScript::kKernelTag) {
-    const TypedData& line_starts_data = TypedData::Handle(zone, line_starts());
-    if (line_starts_data.IsNull()) {
-      // Scripts in the AOT snapshot do not have a line starts array.
-      *line = -1;
-      if (column != NULL) {
-        *column = -1;
-      }
-      if (token_len != NULL) {
-        *token_len = 1;
-      }
-      return;
+  ASSERT(kind() == RawScript::kKernelTag);
+  LookupSourceAndLineStarts(zone);
+  if (line_starts() == TypedData::null()) {
+    // Scripts in the AOT snapshot do not have a line starts array.
+    // Neither do some scripts coming from bytecode.
+    *line = -1;
+    if (column != NULL) {
+      *column = -1;
     }
-#if !defined(DART_PRECOMPILED_RUNTIME)
-    ASSERT(line_starts_data.Length() > 0);
-    kernel::KernelLineStartsReader line_starts_reader(line_starts_data, zone);
-    line_starts_reader.LocationForPosition(token_pos.value(), line, column);
     if (token_len != NULL) {
       *token_len = 1;
-      // We don't explicitly save this data: Load the source
-      // and find it from there.
-      const String& source = String::Handle(zone, Source());
-      if (!source.IsNull()) {
-        intptr_t offset = token_pos.value();
-        if (offset < source.Length() &&
-            IsIdentStartChar(source.CharAt(offset))) {
-          for (intptr_t i = offset + 1;
-               i < source.Length() && IsIdentChar(source.CharAt(i)); ++i) {
-            ++*token_len;
-          }
+    }
+    return;
+  }
+#if !defined(DART_PRECOMPILED_RUNTIME)
+  const TypedData& line_starts_data = TypedData::Handle(zone, line_starts());
+  kernel::KernelLineStartsReader line_starts_reader(line_starts_data, zone);
+  line_starts_reader.LocationForPosition(token_pos.value(), line, column);
+  if (token_len != NULL) {
+    *token_len = 1;
+    // We don't explicitly save this data: Load the source
+    // and find it from there.
+    const String& source = String::Handle(zone, Source());
+    if (!source.IsNull()) {
+      intptr_t offset = token_pos.value();
+      if (offset < source.Length() && IsIdentStartChar(source.CharAt(offset))) {
+        for (intptr_t i = offset + 1;
+             i < source.Length() && IsIdentChar(source.CharAt(i)); ++i) {
+          ++*token_len;
         }
       }
     }
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
-    return;
   }
-
-  UNREACHABLE();
+#endif  // !defined(DART_PRECOMPILED_RUNTIME)
 }
 
 void Script::TokenRangeAtLine(intptr_t line_number,
                               TokenPosition* first_token_index,
                               TokenPosition* last_token_index) const {
+  ASSERT(kind() == RawScript::kKernelTag);
   ASSERT(first_token_index != NULL && last_token_index != NULL);
   ASSERT(line_number > 0);
 
-  if (kind() == RawScript::kKernelTag) {
-    const TypedData& line_starts_data = TypedData::Handle(line_starts());
-    if (line_starts_data.IsNull()) {
-      // Scripts in the AOT snapshot do not have a line starts array.
-      *first_token_index = TokenPosition::kNoSource;
-      *last_token_index = TokenPosition::kNoSource;
-      return;
-    }
-#if !defined(DART_PRECOMPILED_RUNTIME)
-    const String& source = String::Handle(Source());
-    intptr_t source_length;
-    if (source.IsNull()) {
-      Smi& value = Smi::Handle();
-      const Array& debug_positions_array = Array::Handle(debug_positions());
-      value ^= debug_positions_array.At(debug_positions_array.Length() - 1);
-      source_length = value.Value();
-    } else {
-      source_length = source.Length();
-    }
-    kernel::KernelLineStartsReader line_starts_reader(
-        line_starts_data, Thread::Current()->zone());
-    line_starts_reader.TokenRangeAtLine(source_length, line_number,
-                                        first_token_index, last_token_index);
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
+  Thread* thread = Thread::Current();
+  Zone* zone = thread->zone();
+  LookupSourceAndLineStarts(zone);
+  if (line_starts() == TypedData::null()) {
+    // Scripts in the AOT snapshot do not have a line starts array.
+    // Neither do some scripts coming from bytecode.
+    *first_token_index = TokenPosition::kNoSource;
+    *last_token_index = TokenPosition::kNoSource;
     return;
   }
-
-  UNREACHABLE();
+#if !defined(DART_PRECOMPILED_RUNTIME)
+  const String& source = String::Handle(zone, Source());
+  intptr_t source_length;
+  if (source.IsNull()) {
+    Smi& value = Smi::Handle(zone);
+    const Array& debug_positions_array = Array::Handle(zone, debug_positions());
+    value ^= debug_positions_array.At(debug_positions_array.Length() - 1);
+    source_length = value.Value();
+  } else {
+    source_length = source.Length();
+  }
+  const TypedData& line_starts_data = TypedData::Handle(zone, line_starts());
+  kernel::KernelLineStartsReader line_starts_reader(line_starts_data,
+                                                    Thread::Current()->zone());
+  line_starts_reader.TokenRangeAtLine(source_length, line_number,
+                                      first_token_index, last_token_index);
+#endif  // !defined(DART_PRECOMPILED_RUNTIME)
 }
 
 RawString* Script::GetLine(intptr_t line_number, Heap::Space space) const {
@@ -12460,22 +12489,6 @@
     }
   }
 
-  // Inner functions get added to the closures array. As part of compilation
-  // more closures can be added to the end of the array. Compile all the
-  // closures until we have reached the end of the "worklist".
-  const GrowableObjectArray& closures = GrowableObjectArray::Handle(
-      zone, Isolate::Current()->object_store()->closure_functions());
-  Function& func = Function::Handle(zone);
-  for (int i = 0; i < closures.Length(); i++) {
-    func ^= closures.At(i);
-    if (func.IsBytecodeAllowed(zone) && !func.HasBytecode()) {
-      RawError* error =
-          kernel::BytecodeReader::ReadFunctionBytecode(thread, func);
-      if (error != Error::null()) {
-        return error;
-      }
-    }
-  }
   return Error::null();
 }
 #endif  // !defined(DART_PRECOMPILED_RUNTIME)
@@ -13756,17 +13769,17 @@
   bool is_smi_two_args_op = false;
 
   ASSERT(NumArgsTested() == 2);
-  const String& name = String::Handle(target_name());
-  const Class& smi_class = Class::Handle(Smi::Class());
   Zone* zone = Thread::Current()->zone();
-  Function& smi_op_target =
-      Function::Handle(Resolver::ResolveDynamicAnyArgs(zone, smi_class, name));
+  const String& name = String::Handle(zone, target_name());
+  const Class& smi_class = Class::Handle(zone, Smi::Class());
+  Function& smi_op_target = Function::Handle(
+      zone, Resolver::ResolveDynamicAnyArgs(zone, smi_class, name));
 
 #if !defined(DART_PRECOMPILED_RUNTIME)
   if (smi_op_target.IsNull() &&
       Function::IsDynamicInvocationForwarderName(name)) {
-    const String& demangled =
-        String::Handle(Function::DemangleDynamicInvocationForwarderName(name));
+    const String& demangled = String::Handle(
+        zone, Function::DemangleDynamicInvocationForwarderName(name));
     smi_op_target = Resolver::ResolveDynamicAnyArgs(zone, smi_class, demangled);
   }
 #endif
@@ -14307,14 +14320,6 @@
   return result.raw();
 }
 
-RawMegamorphicCache* ICData::AsMegamorphicCache() const {
-  ASSERT(NumArgsTested() == 1);
-  ASSERT(!is_tracking_exactness());
-  const String& name = String::Handle(target_name());
-  const Array& descriptor = Array::Handle(arguments_descriptor());
-  return MegamorphicCacheTable::Lookup(Isolate::Current(), name, descriptor);
-}
-
 bool ICData::HasReceiverClassId(intptr_t class_id) const {
   ASSERT(NumArgsTested() > 0);
   const intptr_t len = NumberOfChecks();
@@ -14343,9 +14348,12 @@
     }
   }
   if (is_megamorphic()) {
-    const MegamorphicCache& cache =
-        MegamorphicCache::Handle(AsMegamorphicCache());
-    SafepointMutexLocker ml(Isolate::Current()->megamorphic_mutex());
+    Thread* thread = Thread::Current();
+    Zone* zone = thread->zone();
+    const String& name = String::Handle(zone, target_name());
+    const Array& descriptor = Array::Handle(zone, arguments_descriptor());
+    const MegamorphicCache& cache = MegamorphicCache::Handle(
+        zone, MegamorphicCacheTable::LookupClone(thread, name, descriptor));
     MegamorphicCacheEntries entries(Array::Handle(cache.buckets()));
     for (intptr_t i = 0; i < entries.Length(); i++) {
       const intptr_t id =
@@ -14896,42 +14904,6 @@
 }
 
 #if !defined(DART_PRECOMPILED_RUNTIME)
-#if !defined(PRODUCT)
-class CodeCommentsWrapper final : public CodeComments {
- public:
-  explicit CodeCommentsWrapper(const Code::Comments& comments)
-      : comments_(comments), string_(String::Handle()) {}
-
-  intptr_t Length() const override { return comments_.Length(); }
-
-  intptr_t PCOffsetAt(intptr_t i) const override {
-    return comments_.PCOffsetAt(i);
-  }
-
-  const char* CommentAt(intptr_t i) const override {
-    string_ = comments_.CommentAt(i);
-    return string_.ToCString();
-  }
-
- private:
-  const Code::Comments& comments_;
-  String& string_;
-};
-
-static const Code::Comments& CreateCommentsFrom(
-    compiler::Assembler* assembler) {
-  const auto& comments = assembler->comments();
-  Code::Comments& result = Code::Comments::New(comments.length());
-
-  for (intptr_t i = 0; i < comments.length(); i++) {
-    result.SetPCOffsetAt(i, comments[i]->pc_offset());
-    result.SetCommentAt(i, comments[i]->comment());
-  }
-
-  return result;
-}
-#endif
-
 RawCode* Code::FinalizeCodeAndNotify(const Function& function,
                                      FlowGraphCompiler* compiler,
                                      compiler::Assembler* assembler,
@@ -15130,7 +15102,6 @@
   }
 #endif
 }
-
 #endif  // !defined(DART_PRECOMPILED_RUNTIME)
 
 bool Code::SlowFindRawCodeVisitor::FindObject(RawObject* raw_obj) const {
@@ -16002,6 +15973,45 @@
   }
 }
 
+RawMegamorphicCache* MegamorphicCache::Clone(const MegamorphicCache& from) {
+  Thread* thread = Thread::Current();
+  Zone* zone = thread->zone();
+  MegamorphicCache& result = MegamorphicCache::Handle(zone);
+  {
+    RawObject* raw =
+        Object::Allocate(MegamorphicCache::kClassId,
+                         MegamorphicCache::InstanceSize(), Heap::kNew);
+    NoSafepointScope no_safepoint;
+    result ^= raw;
+  }
+
+  SafepointMutexLocker ml(thread->isolate()->megamorphic_mutex());
+  const Array& from_buckets = Array::Handle(zone, from.buckets());
+  const intptr_t len = from_buckets.Length();
+  const Array& cloned_buckets =
+      Array::Handle(zone, Array::New(len, Heap::kNew));
+  Object& obj = Object::Handle(zone);
+  for (intptr_t i = 0; i < len; i++) {
+    obj = from_buckets.At(i);
+    cloned_buckets.SetAt(i, obj);
+  }
+  result.set_buckets(cloned_buckets);
+  result.set_mask(from.mask());
+  result.set_target_name(String::Handle(zone, from.target_name()));
+  result.set_arguments_descriptor(
+      Array::Handle(zone, from.arguments_descriptor()));
+  result.set_filled_entry_count(from.filled_entry_count());
+  return result.raw();
+}
+
+void SubtypeTestCache::Init() {
+  cached_array_ = Array::New(kTestEntryLength, Heap::kOld);
+}
+
+void SubtypeTestCache::Cleanup() {
+  cached_array_ = NULL;
+}
+
 RawSubtypeTestCache* SubtypeTestCache::New() {
   ASSERT(Object::subtypetestcache_class() != Class::null());
   SubtypeTestCache& result = SubtypeTestCache::Handle();
@@ -16014,8 +16024,7 @@
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
-  const Array& cache = Array::Handle(Array::New(kTestEntryLength, Heap::kOld));
-  result.set_cache(cache);
+  result.set_cache(Array::Handle(cached_array_));
   return result.raw();
 }
 
@@ -16079,6 +16088,10 @@
   *test_result ^= entry.Get<kTestResult>();
 }
 
+void SubtypeTestCache::Reset() const {
+  set_cache(Array::Handle(cached_array_));
+}
+
 const char* SubtypeTestCache::ToCString() const {
   return "SubtypeTestCache";
 }
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index c5ab60c..bea9d0a 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -874,10 +874,7 @@
 
   TokenPosition token_pos() const { return raw_ptr()->token_pos_; }
   void set_token_pos(TokenPosition value) const;
-  TokenPosition end_token_pos() const {
-    ASSERT(is_declaration_loaded());
-    return raw_ptr()->end_token_pos_;
-  }
+  TokenPosition end_token_pos() const { return raw_ptr()->end_token_pos_; }
   void set_end_token_pos(TokenPosition value) const;
 
   int32_t SourceFingerprint() const;
@@ -1917,7 +1914,6 @@
   RawICData* AsUnaryClassChecksSortedByCount() const;
 
   RawUnlinkedCall* AsUnlinkedCall() const;
-  RawMegamorphicCache* AsMegamorphicCache() const;
 
   // Consider only used entries.
   bool HasOneTarget() const;
@@ -3791,6 +3787,7 @@
   RawString* Source() const;
   bool IsPartOfDartColonLibrary() const;
 
+  void LookupSourceAndLineStarts(Zone* zone) const;
   RawGrowableObjectArray* GenerateLineNumberArray() const;
   RawScript::Kind kind() const {
     return static_cast<RawScript::Kind>(raw_ptr()->kind_);
@@ -6023,6 +6020,8 @@
     return RoundedAllocationSize(sizeof(RawMegamorphicCache));
   }
 
+  static RawMegamorphicCache* Clone(const MegamorphicCache& from);
+
  private:
   friend class Class;
   friend class MegamorphicCacheTable;
@@ -6078,6 +6077,7 @@
                 TypeArguments* instance_parent_function_type_arguments,
                 TypeArguments* instance_delayed_type_arguments,
                 Bool* test_result) const;
+  void Reset() const;
 
   static RawSubtypeTestCache* New();
 
@@ -6089,7 +6089,13 @@
     return OFFSET_OF(RawSubtypeTestCache, cache_);
   }
 
+  static void Init();
+  static void Cleanup();
+
  private:
+  // A VM heap allocated preinitialized empty subtype entry array.
+  static RawArray* cached_array_;
+
   RawArray* cache() const { return raw_ptr()->cache_; }
 
   void set_cache(const Array& value) const;
@@ -6098,6 +6104,8 @@
 
   FINAL_HEAP_OBJECT_IMPLEMENTATION(SubtypeTestCache, Object);
   friend class Class;
+  friend class Serializer;
+  friend class Deserializer;
 };
 
 class Error : public Object {
diff --git a/runtime/vm/object_reload.cc b/runtime/vm/object_reload.cc
index 0120e58..3268d3b 100644
--- a/runtime/vm/object_reload.cc
+++ b/runtime/vm/object_reload.cc
@@ -57,8 +57,9 @@
       descriptors_(PcDescriptors::Handle(zone)),
       ic_data_(ICData::Handle(zone)) {}
 
-void CallSiteResetter::ResetICDatas(const Code& code) {
-  // Iterate over the Code's object pool and reset all ICDatas.
+void CallSiteResetter::ResetCaches(const Code& code) {
+  // Iterate over the Code's object pool and reset all ICDatas and
+  // SubtypeTestCaches.
 #ifdef TARGET_ARCH_IA32
   // IA32 does not have an object pool, but, we can iterate over all
   // embedded objects by using the variable length data section.
@@ -81,12 +82,14 @@
     object_ = raw_object;
     if (object_.IsICData()) {
       Reset(ICData::Cast(object_));
+    } else if (object_.IsSubtypeTestCache()) {
+      SubtypeTestCache::Cast(object_).Reset();
     }
   }
 #else
   pool_ = code.object_pool();
   ASSERT(!pool_.IsNull());
-  ResetICDatas(pool_);
+  ResetCaches(pool_);
 #endif
 }
 
@@ -177,11 +180,10 @@
 #endif
 }
 
-void CallSiteResetter::ResetICDatas(const Bytecode& bytecode) {
+void CallSiteResetter::RebindStaticTargets(const Bytecode& bytecode) {
   // Iterate over the Bytecode's object pool and reset all ICDatas.
   pool_ = bytecode.object_pool();
   ASSERT(!pool_.IsNull());
-  ResetICDatas(pool_);
 
   for (intptr_t i = 0; i < pool_.Length(); i++) {
     ObjectPool::EntryType entry_type = pool_.TypeAt(i);
@@ -229,7 +231,7 @@
   }
 }
 
-void CallSiteResetter::ResetICDatas(const ObjectPool& pool) {
+void CallSiteResetter::ResetCaches(const ObjectPool& pool) {
   for (intptr_t i = 0; i < pool.Length(); i++) {
     ObjectPool::EntryType entry_type = pool.TypeAt(i);
     if (entry_type != ObjectPool::EntryType::kTaggedObject) {
@@ -238,6 +240,8 @@
     object_ = pool.ObjectAt(i);
     if (object_.IsICData()) {
       Reset(ICData::Cast(object_));
+    } else if (object_.IsSubtypeTestCache()) {
+      SubtypeTestCache::Cast(object_).Reset();
     }
   }
 }
diff --git a/runtime/vm/object_store.cc b/runtime/vm/object_store.cc
index 7a6de5f..0237cc0 100644
--- a/runtime/vm/object_store.cc
+++ b/runtime/vm/object_store.cc
@@ -136,7 +136,7 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   Class& cls = Class::Handle(zone);
-  const Library& collection_lib = Library::Handle(collection_library());
+  const Library& collection_lib = Library::Handle(zone, collection_library());
   cls = collection_lib.LookupClassAllowPrivate(Symbols::_LinkedHashSet());
   ASSERT(!cls.IsNull());
   set_linked_hash_set_class(cls);
@@ -148,7 +148,7 @@
   Isolate* isolate = thread->isolate();
   ASSERT(isolate != NULL && isolate->object_store() == this);
 
-  const Library& async_lib = Library::Handle(async_library());
+  const Library& async_lib = Library::Handle(zone, async_library());
   ASSERT(!async_lib.IsNull());
   cls = async_lib.LookupClass(Symbols::Future());
   ASSERT(!cls.IsNull());
@@ -200,7 +200,7 @@
   if (FLAG_async_debugger) {
     // Disable debugging and inlining of all functions on the
     // _AsyncStarStreamController class.
-    const Array& functions = Array::Handle(cls.functions());
+    const Array& functions = Array::Handle(zone, cls.functions());
     for (intptr_t i = 0; i < functions.Length(); i++) {
       function ^= functions.At(i);
       if (function.IsNull()) {
@@ -211,11 +211,11 @@
     }
   }
 
-  const Library& internal_lib = Library::Handle(_internal_library());
+  const Library& internal_lib = Library::Handle(zone, _internal_library());
   cls = internal_lib.LookupClass(Symbols::Symbol());
   set_symbol_class(cls);
 
-  const Library& core_lib = Library::Handle(core_library());
+  const Library& core_lib = Library::Handle(zone, core_library());
   cls = core_lib.LookupClassAllowPrivate(Symbols::_CompileTimeError());
   ASSERT(!cls.IsNull());
   set_compiletime_error_class(cls);
@@ -223,8 +223,8 @@
   cls = core_lib.LookupClassAllowPrivate(Symbols::Pragma());
   ASSERT(!cls.IsNull());
   set_pragma_class(cls);
-  set_pragma_name(Field::Handle(cls.LookupField(Symbols::name())));
-  set_pragma_options(Field::Handle(cls.LookupField(Symbols::options())));
+  set_pragma_name(Field::Handle(zone, cls.LookupField(Symbols::name())));
+  set_pragma_options(Field::Handle(zone, cls.LookupField(Symbols::options())));
 
   cls = core_lib.LookupClassAllowPrivate(Symbols::_GrowableList());
   ASSERT(!cls.IsNull());
@@ -239,6 +239,34 @@
       PrivateObjectLookup(Symbols::_simpleInstanceOfTrue());
   simple_instance_of_false_function_ =
       PrivateObjectLookup(Symbols::_simpleInstanceOfFalse());
+
+  // Ensure AddSmiSmiCheckForFastSmiStubs run by the background compiler
+  // will not create new functions.
+  const Class& smi_class = Class::Handle(zone, this->smi_class());
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::Plus());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::Minus());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::Equals());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::LAngleBracket());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::RAngleBracket());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::BitAnd());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::BitOr());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
+  function_name =
+      Function::CreateDynamicInvocationForwarderName(Symbols::Star());
+  Resolver::ResolveDynamicAnyArgs(zone, smi_class, function_name);
 #endif
 }
 
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
index 386e3dd..ad0e5ae 100644
--- a/runtime/vm/object_test.cc
+++ b/runtime/vm/object_test.cc
@@ -4,6 +4,9 @@
 
 #include "include/dart_api.h"
 
+#include "bin/builtin.h"
+#include "bin/vmservice_impl.h"
+
 #include "platform/globals.h"
 
 #include "vm/class_finalizer.h"
@@ -3974,6 +3977,15 @@
 };
 
 ISOLATE_UNIT_TEST_CASE(PrintJSON) {
+  // Set native resolvers in case we need to read native methods.
+  {
+    TransitionVMToNative transition(thread);
+    bin::Builtin::SetNativeResolver(bin::Builtin::kBuiltinLibrary);
+    bin::Builtin::SetNativeResolver(bin::Builtin::kIOLibrary);
+    bin::Builtin::SetNativeResolver(bin::Builtin::kCLILibrary);
+    bin::VmService::SetNativeResolver();
+  }
+
   Heap* heap = Isolate::Current()->heap();
   heap->CollectAllGarbage();
   GrowableArray<Object*> objects;
diff --git a/runtime/vm/runtime_entry.cc b/runtime/vm/runtime_entry.cc
index 4a01769..1049692 100644
--- a/runtime/vm/runtime_entry.cc
+++ b/runtime/vm/runtime_entry.cc
@@ -1164,8 +1164,11 @@
   // Megamorphic call.
   if (FLAG_unopt_megamorphic_calls &&
       (num_checks > FLAG_max_polymorphic_checks)) {
-    const MegamorphicCache& cache =
-        MegamorphicCache::Handle(zone, ic_data.AsMegamorphicCache());
+    const String& name = String::Handle(zone, ic_data.target_name());
+    const Array& descriptor =
+        Array::Handle(zone, ic_data.arguments_descriptor());
+    const MegamorphicCache& cache = MegamorphicCache::Handle(
+        zone, MegamorphicCacheTable::LookupOriginal(thread, name, descriptor));
     ic_data.set_is_megamorphic(true);
     CodePatcher::PatchInstanceCallAt(caller_frame->pc(), caller_code, cache,
                                      StubCode::MegamorphicCall());
@@ -1792,7 +1795,8 @@
       if (number_of_checks > FLAG_max_polymorphic_checks) {
         // Switch to megamorphic call.
         const MegamorphicCache& cache = MegamorphicCache::Handle(
-            zone, MegamorphicCacheTable::Lookup(isolate, name, descriptor));
+            zone,
+            MegamorphicCacheTable::LookupOriginal(thread, name, descriptor));
         DartFrameIterator iterator(thread,
                                    StackFrameIterator::kNoCrossThreadIteration);
         StackFrame* miss_function_frame = iterator.NextFrame();
@@ -1823,7 +1827,7 @@
 //   Arg2: arguments descriptor
 //   Returns: target function
 // Modifies the instance call table in current interpreter.
-DEFINE_RUNTIME_ENTRY(InterpretedInterfaceCallMissHandler, 3) {
+DEFINE_RUNTIME_ENTRY(InterpretedInstanceCallMissHandler, 3) {
 #if defined(DART_PRECOMPILED_RUNTIME)
   UNREACHABLE();
 #else
@@ -1875,10 +1879,10 @@
   Class& cls = Class::Handle(zone, receiver.clazz());
   Function& function = Function::Handle(zone);
 
-// Dart distinguishes getters and regular methods and allows their calls
-// to mix with conversions, and its selectors are independent of arity. So do
-// a zigzagged lookup to see if this call failed because of an arity mismatch,
-// need for conversion, or there really is no such method.
+  // Dart distinguishes getters and regular methods and allows their calls
+  // to mix with conversions, and its selectors are independent of arity. So do
+  // a zigzagged lookup to see if this call failed because of an arity mismatch,
+  // need for conversion, or there really is no such method.
 
 #define NO_SUCH_METHOD()                                                       \
   const Object& result = Object::Handle(                                       \
@@ -3066,7 +3070,8 @@
 DEFINE_RAW_LEAF_RUNTIME_ENTRY(ExitSafepoint, 0, false, &DFLRT_ExitSafepoint);
 
 // Not registered as a runtime entry because we can't use Thread to look it up.
-extern "C" Thread* DLRT_GetThreadForNativeCallback() {
+static Thread* GetThreadForNativeCallback(uword callback_id,
+                                          uword return_address) {
   Thread* const thread = Thread::Current();
   if (thread == nullptr) {
     FATAL("Cannot invoke native callback outside an isolate.");
@@ -3077,17 +3082,46 @@
   if (!thread->IsMutatorThread()) {
     FATAL("Native callbacks must be invoked on the mutator thread.");
   }
+
+  // Set the execution state to VM while waiting for the safepoint to end.
+  // This isn't strictly necessary but enables tests to check that we're not
+  // in native code anymore. See tests/ffi/function_gc_test.dart for example.
+  thread->set_execution_state(Thread::kThreadInVM);
+
+  thread->ExitSafepoint();
+  thread->VerifyCallbackIsolate(callback_id, return_address);
+
   return thread;
 }
 
-extern "C" void DLRT_VerifyCallbackIsolate(int32_t callback_id,
-                                           uword return_address) {
-  Thread::Current()->VerifyCallbackIsolate(callback_id, return_address);
+#if defined(HOST_OS_WINDOWS)
+#pragma intrinsic(_ReturnAddress)
+#endif
+
+// This is called directly by NativeEntryInstr. At the moment we enter this
+// routine, the caller is generated code in the Isolate heap. Therefore we check
+// that the return address (caller) corresponds to the declared callback ID's
+// code within this Isolate.
+extern "C" Thread* DLRT_GetThreadForNativeCallback(uword callback_id) {
+  CHECK_STACK_ALIGNMENT;
+#if defined(HOST_OS_WINDOWS)
+  void* return_address = _ReturnAddress();
+#else
+  void* return_address = __builtin_return_address(0);
+#endif
+  return GetThreadForNativeCallback(callback_id,
+                                    reinterpret_cast<uword>(return_address));
 }
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(
-    VerifyCallbackIsolate,
-    1,
-    false /* is_float */,
-    reinterpret_cast<RuntimeFunction>(&DLRT_VerifyCallbackIsolate));
+
+// This is called by a native callback trampoline
+// (see StubCodeCompiler::GenerateJITCallbackTrampolines). There is no need to
+// check the return address because the trampoline will use the callback ID to
+// look up the generated code. We still check that the callback ID is valid for
+// this isolate.
+extern "C" Thread* DLRT_GetThreadForNativeCallbackTrampoline(
+    uword callback_id) {
+  CHECK_STACK_ALIGNMENT;
+  return GetThreadForNativeCallback(callback_id, 0);
+}
 
 }  // namespace dart
diff --git a/runtime/vm/runtime_entry.h b/runtime/vm/runtime_entry.h
index f072c14..4206b1e 100644
--- a/runtime/vm/runtime_entry.h
+++ b/runtime/vm/runtime_entry.h
@@ -146,7 +146,8 @@
 LEAF_RUNTIME_ENTRY_LIST(DECLARE_LEAF_RUNTIME_ENTRY)
 
 // Expected to be called inside a safepoint.
-extern "C" Thread* DLRT_GetThreadForNativeCallback();
+extern "C" Thread* DLRT_GetThreadForNativeCallback(uword callback_id);
+extern "C" Thread* DLRT_GetThreadForNativeCallbackTrampoline(uword callback_id);
 
 const char* DeoptReasonToCString(ICData::DeoptReasonId deopt_reason);
 
diff --git a/runtime/vm/runtime_entry_list.h b/runtime/vm/runtime_entry_list.h
index 31bbcb6..3ede9d3 100644
--- a/runtime/vm/runtime_entry_list.h
+++ b/runtime/vm/runtime_entry_list.h
@@ -24,7 +24,7 @@
   V(InlineCacheMissHandlerTwoArgs)                                             \
   V(StaticCallMissHandlerOneArg)                                               \
   V(StaticCallMissHandlerTwoArgs)                                              \
-  V(InterpretedInterfaceCallMissHandler)                                       \
+  V(InterpretedInstanceCallMissHandler)                                        \
   V(Instanceof)                                                                \
   V(SubtypeCheck)                                                              \
   V(TypeCheck)                                                                 \
@@ -87,7 +87,6 @@
     RawSmi*)                                                                   \
   V(void, EnterSafepoint)                                                      \
   V(void, ExitSafepoint)                                                       \
-  V(void, VerifyCallbackIsolate, int32_t, uword)
 
 }  // namespace dart
 
diff --git a/runtime/vm/source_report.cc b/runtime/vm/source_report.cc
index fa73bb2..30bf604 100644
--- a/runtime/vm/source_report.cc
+++ b/runtime/vm/source_report.cc
@@ -472,7 +472,6 @@
 
   Code& code = Code::Handle(zone(), func.unoptimized_code());
   Bytecode& bytecode = Bytecode::Handle(zone());
-#if !defined(DART_PRECOMPILED_RUNTIME)
   if (FLAG_enable_interpreter && !func.HasCode() && func.HasBytecode()) {
     // When the bytecode of a function is loaded, the function code is not null,
     // but pointing to the stub to interpret the bytecode. The various Print
@@ -481,7 +480,6 @@
     code = Code::null();  // Ignore installed stub to interpret bytecode.
     bytecode = func.bytecode();
   }
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
   if (code.IsNull() && bytecode.IsNull()) {
     if (func.HasCode() || (compile_mode_ == kForceCompile)) {
       const Error& err =
@@ -497,12 +495,10 @@
         return;
       }
       code = func.unoptimized_code();
-#if !defined(DART_PRECOMPILED_RUNTIME)
       if (FLAG_enable_interpreter && !func.HasCode() && func.HasBytecode()) {
         code = Code::null();  // Ignore installed stub to interpret bytecode.
         bytecode = func.bytecode();
       }
-#endif  // !defined(DART_PRECOMPILED_RUNTIME)
     } else {
       // This function has not been compiled yet.
       JSONObject range(jsarr);
@@ -543,30 +539,6 @@
       }
     }
   }
-
-  // Visit the closures declared in a bytecode function by traversing its object
-  // pool, because they do not appear in the object store's list of closures.
-  // Since local functions share the object pool, only traverse the pool once,
-  // i.e. when func is the outermost function.
-  if (!bytecode.IsNull() && !func.IsLocalFunction()) {
-    const ObjectPool& pool = ObjectPool::Handle(zone(), bytecode.object_pool());
-    Object& object = Object::Handle(zone());
-    Function& closure = Function::Handle(zone());
-    for (intptr_t i = 0; i < pool.Length(); i++) {
-      ObjectPool::EntryType entry_type = pool.TypeAt(i);
-      if (entry_type != ObjectPool::EntryType::kTaggedObject) {
-        continue;
-      }
-      object = pool.ObjectAt(i);
-      if (object.IsFunction()) {
-        closure ^= object.raw();
-        if (closure.kind() == RawFunction::kClosureFunction &&
-            closure.IsLocalFunction()) {
-          VisitFunction(jsarr, closure);
-        }
-      }
-    }
-  }
 }
 
 void SourceReport::VisitField(JSONArray* jsarr, const Field& field) {
diff --git a/runtime/vm/stack_frame_arm.h b/runtime/vm/stack_frame_arm.h
index cf95a67..6413989 100644
--- a/runtime/vm/stack_frame_arm.h
+++ b/runtime/vm/stack_frame_arm.h
@@ -59,6 +59,9 @@
 // passed on stack and arguments saved in callback prologue.
 //
 // 2 = return adddress (1) + saved frame pointer (1).
+//
+// If NativeCallbackTrampolines::Enabled(), then
+// kNativeCallbackTrampolineStackDelta must be added as well.
 constexpr intptr_t kCallbackSlotsBeforeSavedArguments = 2;
 
 }  // namespace dart
diff --git a/runtime/vm/stack_frame_arm64.h b/runtime/vm/stack_frame_arm64.h
index b1b2288..abaa49a 100644
--- a/runtime/vm/stack_frame_arm64.h
+++ b/runtime/vm/stack_frame_arm64.h
@@ -53,6 +53,9 @@
 // arguments passed on stack and arguments saved in callback prologue.
 //
 // 2 = return adddress (1) + saved frame pointer (1).
+//
+// If NativeCallbackTrampolines::Enabled(), then
+// kNativeCallbackTrampolineStackDelta must be added as well.
 constexpr intptr_t kCallbackSlotsBeforeSavedArguments = 2;
 
 }  // namespace dart
diff --git a/runtime/vm/stack_frame_ia32.h b/runtime/vm/stack_frame_ia32.h
index 70717c2..896fb05 100644
--- a/runtime/vm/stack_frame_ia32.h
+++ b/runtime/vm/stack_frame_ia32.h
@@ -48,6 +48,9 @@
 
 // All arguments are passed on the stack, so none need to be saved. Therefore
 // there is no frame for holding the saved arguments.
+//
+// If NativeCallbackTrampolines::Enabled(), then
+// kNativeCallbackTrampolineStackDelta must be added as well.
 constexpr intptr_t kCallbackSlotsBeforeSavedArguments = 0;
 
 }  // namespace dart
diff --git a/runtime/vm/stack_frame_x64.h b/runtime/vm/stack_frame_x64.h
index 193db62..1507960 100644
--- a/runtime/vm/stack_frame_x64.h
+++ b/runtime/vm/stack_frame_x64.h
@@ -58,6 +58,9 @@
 // passed on stack and arguments saved in callback prologue. 2 = return adddress
 // (1) + saved frame pointer (1). Also add slots for the shadow space, if
 // present.
+//
+// If NativeCallbackTrampolines::Enabled(), then
+// kNativeCallbackTrampolineStackDelta must be added as well.
 constexpr intptr_t kCallbackSlotsBeforeSavedArguments =
     2 + CallingConventions::kShadowSpaceBytes / kWordSize;
 
diff --git a/runtime/vm/stub_code_list.h b/runtime/vm/stub_code_list.h
index bb35068..0ca76d2 100644
--- a/runtime/vm/stub_code_list.h
+++ b/runtime/vm/stub_code_list.h
@@ -78,7 +78,6 @@
   V(OneArgOptimizedCheckInlineCacheWithExactnessCheck)                         \
   V(EnterSafepoint)                                                            \
   V(ExitSafepoint)                                                             \
-  V(VerifyCallback)                                                            \
   V(CallNativeThroughSafepoint)
 
 #else
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
index f9bcb73..41a2afa 100644
--- a/runtime/vm/thread.cc
+++ b/runtime/vm/thread.cc
@@ -5,6 +5,7 @@
 #include "vm/thread.h"
 
 #include "vm/dart_api_state.h"
+#include "vm/ffi_callback_trampolines.h"
 #include "vm/growable_array.h"
 #include "vm/heap/safepoint.h"
 #include "vm/isolate.h"
@@ -940,14 +941,25 @@
 }
 
 const intptr_t kInitialCallbackIdsReserved = 1024;
-int32_t Thread::AllocateFfiCallbackId() {
+int32_t Thread::AllocateFfiCallbackId(uword* trampoline) {
   Zone* Z = isolate()->current_zone();
   if (ffi_callback_code_ == GrowableObjectArray::null()) {
     ffi_callback_code_ = GrowableObjectArray::New(kInitialCallbackIdsReserved);
   }
   const auto& array = GrowableObjectArray::Handle(Z, ffi_callback_code_);
   array.Add(Code::Handle(Z, Code::null()));
-  return array.Length() - 1;
+  const int32_t id = array.Length() - 1;
+
+  // Allocate a native callback trampoline if necessary.
+#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(TARGET_ARCH_DBC)
+  if (NativeCallbackTrampolines::Enabled()) {
+    auto* const tramps = isolate()->native_callback_trampolines();
+    ASSERT(tramps->next_callback_id() == id);
+    *trampoline = tramps->AllocateTrampoline();
+  }
+#endif
+
+  return id;
 }
 
 void Thread::SetFfiCallbackCode(int32_t callback_id, const Code& code) {
@@ -972,11 +984,15 @@
     FATAL("Cannot invoke callback on incorrect isolate.");
   }
 
-  RawObject** const code_array =
-      Array::DataOf(GrowableObjectArray::NoSafepointData(array));
-  const RawCode* const code = Code::RawCast(code_array[callback_id]);
-  if (!Code::ContainsInstructionAt(code, entry)) {
-    FATAL("Cannot invoke callback on incorrect isolate.");
+  if (entry != 0) {
+    RawObject** const code_array =
+        Array::DataOf(GrowableObjectArray::NoSafepointData(array));
+    // RawCast allocates handles in ASSERTs.
+    const RawCode* const code =
+        reinterpret_cast<RawCode*>(code_array[callback_id]);
+    if (!Code::ContainsInstructionAt(code, entry)) {
+      FATAL("Cannot invoke callback on incorrect isolate.");
+    }
   }
 }
 
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 1413ee1..894197a 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -69,6 +69,12 @@
 class TypeUsageInfo;
 class Zone;
 
+namespace compiler {
+namespace target {
+class Thread;
+}  // namespace target
+}  // namespace compiler
+
 #define REUSABLE_HANDLE_LIST(V)                                                \
   V(AbstractType)                                                              \
   V(Array)                                                                     \
@@ -170,7 +176,6 @@
     0)                                                                         \
   V(uword, optimize_entry_, StubCode::OptimizeFunction().EntryPoint(), 0)      \
   V(uword, deoptimize_entry_, StubCode::Deoptimize().EntryPoint(), 0)          \
-  V(uword, verify_callback_entry_, StubCode::VerifyCallback().EntryPoint(), 0) \
   V(uword, call_native_through_safepoint_entry_point_,                         \
     StubCode::CallNativeThroughSafepoint().EntryPoint(), 0)
 #endif
@@ -781,11 +786,15 @@
     }
   }
 
-  int32_t AllocateFfiCallbackId();
+  int32_t AllocateFfiCallbackId(uword* trampoline);
   void SetFfiCallbackCode(int32_t callback_id, const Code& code);
 
-  // Ensure that 'entry' points within the code of the callback identified by
-  // 'callback_id'. Aborts otherwise.
+  // Ensure that 'callback_id' refers to a valid callback in this isolate.
+  //
+  // If "entry != 0", additionally checks that entry is inside the instructions
+  // of this callback.
+  //
+  // Aborts if any of these conditions fails.
   void VerifyCallbackIsolate(int32_t callback_id, uword entry);
 
   Thread* next() const { return next_; }
@@ -933,6 +942,7 @@
 #undef REUSABLE_HANDLE_SCOPE_VARIABLE
 #endif  // defined(DEBUG)
 
+  // Generated code assumes that AtSafepointField is the LSB.
   class AtSafepointField : public BitField<uint32_t, bool, 0, 1> {};
   class SafepointRequestedField : public BitField<uint32_t, bool, 1, 1> {};
   class BlockedForSafepointField : public BitField<uint32_t, bool, 2, 1> {};
@@ -985,6 +995,7 @@
   friend class StackZone;
   friend class ThreadRegistry;
   friend class CompilerState;
+  friend class compiler::target::Thread;
   DISALLOW_COPY_AND_ASSIGN(Thread);
 };
 
diff --git a/runtime/vm/vm_sources.gni b/runtime/vm/vm_sources.gni
index 2a07f21..fcc057f 100644
--- a/runtime/vm/vm_sources.gni
+++ b/runtime/vm/vm_sources.gni
@@ -26,6 +26,8 @@
   "class_table.h",
   "clustered_snapshot.cc",
   "clustered_snapshot.h",
+  "code_comments.h",
+  "code_comments.cc",
   "code_descriptors.cc",
   "code_descriptors.h",
   "code_entry_kind.h",
@@ -99,6 +101,8 @@
   "elf.h",
   "exceptions.cc",
   "exceptions.h",
+  "ffi_callback_trampolines.cc",
+  "ffi_callback_trampolines.h",
   "finalizable_data.h",
   "fixed_cache.h",
   "flag_list.h",
diff --git a/sdk/lib/_http/http_impl.dart b/sdk/lib/_http/http_impl.dart
index d8376c8..cdf2412 100644
--- a/sdk/lib/_http/http_impl.dart
+++ b/sdk/lib/_http/http_impl.dart
@@ -1836,8 +1836,10 @@
     }
     return request.close().then((response) {
       if (response.statusCode != HttpStatus.ok) {
-        throw "Proxy failed to establish tunnel "
-            "(${response.statusCode} ${response.reasonPhrase})";
+        throw new HttpException(
+            "Proxy failed to establish tunnel "
+            "(${response.statusCode} ${response.reasonPhrase})",
+            uri: request.uri);
       }
       var socket = (response as _HttpClientResponse)
           ._httpRequest
diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
index ec0da69..8c167115 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
@@ -2558,10 +2558,17 @@
   // to be visible to resolution and the generation of extra stubs.
 
   String toString() {
-    var constructor = JS('', '#.constructor', this);
-    String name =
-        constructor == null ? null : JS('String|Null', '#.name', constructor);
-    if (name == null) name = 'unknown';
+    String name;
+    if (JS_GET_FLAG('USE_NEW_RTI')) {
+      var constructor = JS('', '#.constructor', this);
+      name =
+          constructor == null ? null : JS('String|Null', '#.name', constructor);
+      if (name == null) name = 'unknown';
+    } else {
+      name = Primitives.objectTypeName(this);
+      // Mirrors puts a space in front of some names, so remove it.
+      name = JS('String', '#.trim()', name);
+    }
     return "Closure '$name'";
   }
 }
diff --git a/sdk/lib/developer/timeline.dart b/sdk/lib/developer/timeline.dart
index 72d28af..dce5b7e 100644
--- a/sdk/lib/developer/timeline.dart
+++ b/sdk/lib/developer/timeline.dart
@@ -302,8 +302,8 @@
     _reportCompleteEvent(
         _start, _startCpu, category, name, _argumentsAsJson(_arguments));
     if (_flow != null) {
-      _reportFlowEvent(_start, _startCpu, category, name, _flow._type, _flow.id,
-          _argumentsAsJson(null));
+      _reportFlowEvent(_start, _startCpu, category, "${_flow.id}", _flow._type,
+          _flow.id, _argumentsAsJson(null));
     }
   }
 
diff --git a/tests/co19_2/co19_2-analyzer.status b/tests/co19_2/co19_2-analyzer.status
index 3126f6a..8841e40 100644
--- a/tests/co19_2/co19_2-analyzer.status
+++ b/tests/co19_2/co19_2-analyzer.status
@@ -45,8 +45,6 @@
 Language/Expressions/Instance_Creation/Const/parameterized_type_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Instance_Creation/Const/parameterized_type_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Instance_Creation/New/syntax_t04: MissingCompileTimeError # Please triage this failure
-Language/Expressions/Instance_Creation/New/type_t08: CompileTimeError
-Language/Expressions/Instance_Creation/New/type_t09: CompileTimeError
 Language/Expressions/Lists/constant_list_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Lists/syntax_t01: CompileTimeError # triple shift
 Language/Expressions/Maps/constant_map_t02: MissingCompileTimeError # Please triage this failure
@@ -84,7 +82,6 @@
 Language/Mixins/Mixin_Application/syntax_t25: CompileTimeError # Issue 26409
 Language/Mixins/declaring_constructor_t05: MissingCompileTimeError # Issue 24767
 Language/Mixins/declaring_constructor_t06: MissingCompileTimeError # Issue 24767
-Language/Overview/Privacy/private_and_public_t11: CompileTimeError
 Language/Reference/Operator_Precedence/precedence_01_assignment_t14: CompileTimeError # triple shift
 Language/Reference/Operator_Precedence/precedence_12_Shift_t04: CompileTimeError # triple shift
 Language/Reference/Operator_Precedence/precedence_t05: CompileTimeError # triple shift
@@ -158,13 +155,9 @@
 LanguageFeatures/Instantiate-to-bound/class/static/class_l1_t04/none: CompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t03/none: CompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t04/none: CompileTimeError # Please triage this failure
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t05/none: CompileTimeError
 LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t08/none: CompileTimeError # Please triage this failure
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t09/none: CompileTimeError
 LanguageFeatures/Instantiate-to-bound/class/static/class_l3_t02/none: CompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/class/static/class_l4_t01/none: CompileTimeError # Please triage this failure
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_FutureOr_l1_t02/none: CompileTimeError
 LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t02/none: CompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/01: MissingCompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/02: MissingCompileTimeError # Please triage this failure
@@ -182,19 +175,6 @@
 LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/06: MissingCompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/07: MissingCompileTimeError # Please triage this failure
 LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t01/none: CompileTimeError # Please triage this failure
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t03/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t06/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t07: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t08: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t09: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t10: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t13: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t14: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t15: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t21: CompileTimeError
 LanguageFeatures/Set-literals/constant_set_literals_A02_t01: CompileTimeError # This feature is not implemented yet
 LanguageFeatures/Set-literals/constant_set_literals_A03_t01: CompileTimeError # This feature is not implemented yet
 LanguageFeatures/Set-literals/constant_set_literals_A04_t01: CompileTimeError # This feature is not implemented yet
@@ -206,8 +186,6 @@
 LanguageFeatures/Set-literals/set_literals_A02_t01: CompileTimeError # This feature is not implemented yet
 LanguageFeatures/Set-literals/set_literals_A04_t01: CompileTimeError # This feature is not implemented yet
 LanguageFeatures/Set-literals/syntax_compatibility_A01_t01: CompileTimeError # This feature is not implemented yet
-LanguageFeatures/Simple-bounds/static/typedef_FutureOr_l1_t02/none: CompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_l1_t07/none: CompileTimeError
 LanguageFeatures/Simple-bounds/static/typedef_l2_t02/none: CompileTimeError # Please triage this failure
 LanguageFeatures/Super-bounded-types/static_analysis_A01_t02: CompileTimeError # Issue 32903
 LanguageFeatures/Super-bounded-types/static_analysis_A01_t05: CompileTimeError # Issue 32903
@@ -223,51 +201,6 @@
 LibTest/async/Future/Future_A01_t01: CompileTimeError # Please triage this failure
 
 [ $compiler == dart2analyzer && $system != macos && $system != windows ]
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t08: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t10: MissingCompileTimeError
-LanguageFeatures/Simple-bounds/static/class_typedef_l1_t02/none: CompileTimeError
 LanguageFeatures/regression/33585_t01: MissingCompileTimeError # Please triage this failure
 LanguageFeatures/regression/33585_t02: MissingCompileTimeError # Please triage this failure
 
-[ $compiler == dart2analyzer && ($system == macos || $system == windows) ]
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t06/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t12: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t13: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t01/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t03/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t05: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t10: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t11: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t05: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/05: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/06: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/07: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t06/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/05: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/06: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/07: MissingCompileTimeError
-LanguageFeatures/Set-literals/semantics_A05_t01: CompileTimeError
-LanguageFeatures/Set-literals/syntax_compatibility_A01_t02: CompileTimeError
diff --git a/tests/co19_2/co19_2-kernel.status b/tests/co19_2/co19_2-kernel.status
index f9896cd..7bd5ada 100644
--- a/tests/co19_2/co19_2-kernel.status
+++ b/tests/co19_2/co19_2-kernel.status
@@ -3,82 +3,19 @@
 # BSD-style license that can be found in the LICENSE file.
 
 [ $builder_tag == bytecode_interpreter ]
-LibTest/collection/ListBase/ListBase_class_A01_t04: Pass, Slow
-LibTest/collection/ListBase/ListBase_class_A01_t05: Pass, Slow
-LibTest/collection/ListBase/ListBase_class_A01_t06: Pass, Slow
-
-[ $compiler == dartk ]
-LanguageFeatures/Set-literals/syntax_compatibility_A01_t02: RuntimeError
+LibTest/collection/ListBase/ListBase_class_A01_t04: Slow
+LibTest/collection/ListBase/ListBase_class_A01_t05: Slow
+LibTest/collection/ListBase/ListBase_class_A01_t06: Slow
 
 [ $compiler == dartkb ]
 LibTest/isolate/Isolate/kill_A01_t01: Skip # Issue 37699
 LibTest/isolate/Isolate/pause_A01_t01: Skip # Issue 37699
 LibTest/isolate/Isolate/pause_A01_t02: Skip # Issue 37699
 
-[ $compiler == dartkp ]
-Language/Expressions/Instance_Creation/New/evaluation_t20: RuntimeError
-Language/Libraries_and_Scripts/Imports/deferred_import_t01: RuntimeError
-Language/Metadata/before_factory_t01: RuntimeError
-Language/Metadata/before_library_t01: RuntimeError
-Language/Metadata/before_param_t06: RuntimeError
-Language/Metadata/before_param_t08: RuntimeError
-Language/Metadata/before_param_t09: DartkCrash
-Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t09: RuntimeError
-Language/Types/Interface_Types/subtype_t03: RuntimeError
-Language/Types/Interface_Types/subtype_t26: RuntimeError
-LanguageFeatures/Set-literals/syntax_compatibility_A01_t02: RuntimeError
-LanguageFeatures/Subtyping/static/generated/left_bottom_global_variable_A02_t01: DartkCrash
-LanguageFeatures/Subtyping/static/generated/left_promoted_variable_global_variable_A02_t01: DartkCrash
-LibTest/collection/DoubleLinkedQueue/removeWhere_A02_t02: RuntimeError
-LibTest/core/StackOverflowError/stackTrace_A01_t02: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A01_t01: RuntimeError
-LibTest/io/Cookie/Cookie_A01_t02: RuntimeError
-LibTest/io/File/openRead_A01_t04: RuntimeError
-LibTest/io/HttpClientRequest/addStream_A02_t02: RuntimeError
-LibTest/io/HttpClientRequest/add_A03_t01: RuntimeError
-LibTest/io/HttpServer/bind_A05_t02: Fail
-LibTest/io/IOSink/close_A02_t01: RuntimeError
-LibTest/io/IOSink/writeAll_A01_t01: RuntimeError
-LibTest/io/IOSink/writeAll_A02_t02: RuntimeError
-LibTest/io/IOSink/write_A01_t04: RuntimeError
-LibTest/io/ProcessResult/pid_A01_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A01_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A02_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A03_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t03: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/asBroadcastStream_A03_t01: Timeout
-LibTest/io/RawDatagramSocket/join_A02_t01: RuntimeError
-LibTest/io/RawSecureServerSocket/first_A02_t01: RuntimeError
-LibTest/io/Stdin/any_A01_t03: RuntimeError
-LibTest/io/Stdin/first_A02_t01: RuntimeError
-LibTest/io/Stdin/readByteSync_A02_t01: RuntimeError
-LibTest/io/Stdout/addStream_A03_t01: RuntimeError
-LibTest/io/Stdout/nonBlocking_A01_t01: RuntimeError
-LibTest/io/ZLibDecoder/fuse_A01_t01: RuntimeError
-LibTest/io/exit/exit_A01_t01: RuntimeError
-LibTest/io/exit/exit_A02_t01: RuntimeError
-LibTest/io/exitCode/exitCode_A01_t01: RuntimeError
-LibTest/isolate/ReceivePort/lastWhere_A01_t01: RuntimeError
-
 [ $compiler == fasta ]
-Language/Expressions/Assignment/Compound_Assignment/expression_assignment_t12: CompileTimeError
-Language/Expressions/Assignment/Compound_Assignment/indexed_expression_assignment_t12: CompileTimeError
-Language/Expressions/Assignment/Compound_Assignment/null_aware_compound_assignment_static_t12: CompileTimeError
-Language/Expressions/Assignment/Compound_Assignment/null_aware_compound_assignment_t12: CompileTimeError
-Language/Expressions/Assignment/Compound_Assignment/setter_assignment_t12: CompileTimeError
-Language/Expressions/Assignment/Compound_Assignment/variable_assignment_t12: CompileTimeError
 Language/Statements/For/syntax_t13: Crash # Assertion error: kernel_shadow_ast.dart: 'receiver == null': is not true.
 Language/Statements/For/syntax_t20: Crash # Assertion error: kernel_shadow_ast.dart: 'receiver == null': is not true.
-LanguageFeatures/Constant-update-2018/NewOperators_A01_t04/none: CompileTimeError
 LanguageFeatures/Constant-update-2018/NewOperators_A01_t06/none: Crash
-LanguageFeatures/Set-literals/type_inference_A04_t02/02: MissingCompileTimeError
-LanguageFeatures/Set-literals/type_inference_A04_t02/03: MissingCompileTimeError
-LanguageFeatures/Set-literals/type_inference_A06_t02/03: MissingCompileTimeError
-LanguageFeatures/Set-literals/type_inference_A06_t02/04: MissingCompileTimeError
-LanguageFeatures/Set-literals/type_inference_A06_t02/05: MissingCompileTimeError
-LanguageFeatures/Set-literals/type_inference_A06_t02/06: MissingCompileTimeError
 
 [ $runtime == vm ]
 LibTest/collection/ListBase/ListBase_class_A01_t02: Pass, Slow # Does many calls
@@ -98,53 +35,19 @@
 LibTest/io/RawDatagramSocket/where_A01_t01: Pass, Fail # Issue https://github.com/dart-lang/co19/issues/170
 
 [ $fasta ]
-Language/Classes/Constructors/Generative_Constructors/initializers_t15: CompileTimeError
-Language/Classes/Getters/type_object_t01: CompileTimeError
-Language/Classes/Getters/type_object_t02: CompileTimeError
 Language/Classes/Instance_Methods/Operators/allowed_names_t01: Skip # triple-shift flag
 Language/Classes/Instance_Methods/Operators/allowed_names_t23: Skip # triple-shift flag
 Language/Classes/Instance_Methods/Operators/arity_1_t19: Skip # triple-shift flag
-Language/Classes/Instance_Methods/Operators/return_type_t01: MissingCompileTimeError
-Language/Classes/Setters/return_type_not_void_t01: MissingCompileTimeError
-Language/Classes/Setters/same_name_getter_different_type_t01: MissingCompileTimeError
-Language/Classes/Setters/syntax_t04: MissingCompileTimeError
-Language/Classes/Setters/syntax_t05: MissingCompileTimeError
-Language/Classes/Setters/syntax_t06: CompileTimeError
-Language/Classes/Static_Methods/declaration_t04: CompileTimeError
-Language/Classes/Static_Methods/same_name_method_and_setter_t01: CompileTimeError
-Language/Classes/Static_Variables/type_alias_t01: CompileTimeError
-Language/Classes/Superclasses/Inheritance_and_Overriding/inheritance_t07: CompileTimeError
-Language/Classes/Superclasses/Inheritance_and_Overriding/inheritance_t08: CompileTimeError
-Language/Classes/Superclasses/Inheritance_and_Overriding/inheritance_t09: CompileTimeError
-Language/Classes/Superclasses/Inheritance_and_Overriding/overriding_t06: CompileTimeError
-Language/Classes/Superclasses/Inheritance_and_Overriding/overriding_t07: CompileTimeError
-Language/Classes/Superclasses/Inheritance_and_Overriding/overriding_t08: CompileTimeError
-Language/Classes/Superclasses/extends_clause_t02: CompileTimeError
-Language/Classes/Superclasses/transition_t02: CompileTimeError
 Language/Classes/Superclasses/wrong_superclass_t08: MissingCompileTimeError # Issue 30273
-Language/Classes/Superinterfaces/no_member_t07: CompileTimeError
-Language/Classes/Superinterfaces/syntax_t03: CompileTimeError
 Language/Classes/Superinterfaces/wrong_type_t05: MissingCompileTimeError # Issue 30273
 Language/Classes/method_definition_t06: MissingCompileTimeError # Legal
 Language/Enums/restrictions_t10: Crash
-Language/Enums/syntax_t08: CompileTimeError
-Language/Enums/syntax_t09: CompileTimeError
-Language/Enums/syntax_t10: CompileTimeError
-Language/Expressions/Assignable_Expressions/syntax_t01: CompileTimeError
 Language/Expressions/Assignment/Compound_Assignment/expression_assignment_t12: Skip # triple-shift flag
 Language/Expressions/Assignment/Compound_Assignment/indexed_expression_assignment_t12: Skip # triple-shift flag
 Language/Expressions/Assignment/Compound_Assignment/null_aware_compound_assignment_static_t12: Skip # triple-shift flag
 Language/Expressions/Assignment/Compound_Assignment/null_aware_compound_assignment_t12: Skip # triple-shift flag
 Language/Expressions/Assignment/Compound_Assignment/setter_assignment_t12: Skip # triple-shift flag
 Language/Expressions/Assignment/Compound_Assignment/variable_assignment_t12: Skip # triple-shift flag
-Language/Expressions/Assignment/expression_assignment_failed_t02: CompileTimeError
-Language/Expressions/Assignment/static_type_t02: CompileTimeError
-Language/Expressions/Assignment/static_type_t03: CompileTimeError
-Language/Expressions/Assignment/super_assignment_failed_t04: CompileTimeError
-Language/Expressions/Assignment/super_assignment_static_warning_t02: CompileTimeError
-Language/Expressions/Assignment/super_assignment_static_warning_t03: CompileTimeError
-Language/Expressions/Assignment/super_assignment_t06: CompileTimeError
-Language/Expressions/Assignment/super_assignment_value_t02: CompileTimeError
 Language/Expressions/Bitwise_Expressions/syntax_t01: Skip # triple-shift flag
 Language/Expressions/Constants/bitwise_operators_t01: Skip # triple-shift flag
 Language/Expressions/Constants/bitwise_operators_t07: Skip # triple-shift flag
@@ -152,38 +55,11 @@
 Language/Expressions/Constants/constant_list_t02: MissingCompileTimeError # Legal because of implicit const
 Language/Expressions/Constants/constant_map_t02: MissingCompileTimeError # Legal because of implicit const
 Language/Expressions/Equality/syntax_t01: Skip # triple-shift flag
-Language/Expressions/Function_Expressions/syntax_t05: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t01: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t02: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t03: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t04: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t05: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t06: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t07: CompileTimeError
-Language/Expressions/Function_Invocation/async_cleanup_t08: CompileTimeError
 Language/Expressions/Instance_Creation/Const/arguments_t03: MissingCompileTimeError # Legal because of implicit const
-Language/Expressions/Instance_Creation/Const/parameterized_type_t01: CompileTimeError
-Language/Expressions/Instance_Creation/Const/parameterized_type_t02: CompileTimeError
 Language/Expressions/Instance_Creation/New/syntax_t04: MissingCompileTimeError # Legal because of implicit new
-Language/Expressions/Instance_Creation/New/type_t08: CompileTimeError
-Language/Expressions/Instance_Creation/New/type_t09: CompileTimeError
-Language/Expressions/Lists/constant_list_t01: CompileTimeError
 Language/Expressions/Lists/syntax_t01: Skip # triple-shift flag
-Language/Expressions/Maps/constant_map_t02: MissingCompileTimeError
-Language/Expressions/Maps/constant_map_type_t01: CompileTimeError
 Language/Expressions/Maps/key_value_equals_operator_t01: MissingCompileTimeError # Issue 32557
 Language/Expressions/Maps/syntax_t01: Skip # triple-shift flag
-Language/Expressions/Method_Invocation/Ordinary_Invocation/accessible_instance_member_t04: CompileTimeError
-Language/Expressions/Method_Invocation/Super_Invocation/getter_lookup_failed_t02: CompileTimeError
-Language/Expressions/Multiplicative_Expressions/syntax_t01: CompileTimeError
-Language/Expressions/Postfix_Expressions/syntax_t01: CompileTimeError
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/instance_of_type_getter_t01: CompileTimeError
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/instance_of_type_getter_t03: CompileTimeError
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/instance_of_type_t01: CompileTimeError
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/instance_of_type_t03: CompileTimeError
-Language/Expressions/Property_Extraction/Super_Getter_Access_and_Method_Closurization/no_such_method_t01: CompileTimeError
-Language/Expressions/Property_Extraction/Super_Getter_Access_and_Method_Closurization/no_such_method_t02: CompileTimeError
-Language/Expressions/Property_Extraction/Super_Getter_Access_and_Method_Closurization/static_type_t03: CompileTimeError
 Language/Expressions/Relational_Expressions/syntax_t01: Skip # triple-shift experiment flag
 Language/Expressions/Shift/allowed_characters_t02: Skip # triple-shift flag
 Language/Expressions/Shift/equivalent_super_t02: Skip # triple-shift flag
@@ -211,30 +87,8 @@
 Language/Expressions/Shift/syntax_t27: Skip # triple-shift experiment flag
 Language/Expressions/Strings/String_Interpolation/syntax_t01: Skip # triple-shift experiment flag
 Language/Expressions/Symbols/syntax_t02: Skip # triple-shift experiment flag
-Language/Expressions/Unary_Expressions/syntax_t10: CompileTimeError
-Language/Expressions/Unary_Expressions/syntax_t27: CompileTimeError
 Language/Expressions/parentheses_t01: Skip # triple-shift experiment flag
 Language/Functions/syntax_t03: Skip # triple-shift experiment flag
-Language/Generics/syntax_t20: CompileTimeError
-Language/Generics/syntax_t22: CompileTimeError
-Language/Generics/syntax_t23: CompileTimeError
-Language/Generics/syntax_t24: CompileTimeError
-Language/Generics/syntax_t25: CompileTimeError
-Language/Generics/syntax_t27/none: CompileTimeError
-Language/Generics/typedef_A01_t01: CompileTimeError
-Language/Generics/typedef_A01_t06/none: CompileTimeError
-Language/Generics/typedef_A01_t07: CompileTimeError
-Language/Generics/typedef_A01_t08: CompileTimeError
-Language/Generics/typedef_A01_t10: CompileTimeError
-Language/Generics/typedef_A04_t01: CompileTimeError
-Language/Generics/typedef_A04_t02: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/inheritance_t13: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/inheritance_t14: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/not_overriden_members_t03: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_getters_t03: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_getters_t04: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_getters_type_t10: CompileTimeError
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_getters_type_t11: CompileTimeError
 Language/Libraries_and_Scripts/Imports/library_name_t01: MissingCompileTimeError # Expects an error, but this is a warning in Dart 2
 Language/Mixins/Mixin_Application/abstract_t09: Crash
 Language/Mixins/Mixin_Application/abstract_t10: Crash
@@ -254,7 +108,6 @@
 Language/Mixins/Mixin_Application/superclass_t04: Crash
 Language/Mixins/Mixin_Application/superinterfaces_t10: Crash
 Language/Mixins/Mixin_Application/superinterfaces_t11: Crash
-Language/Mixins/Mixin_Application/superinterfaces_t12: CompileTimeError
 Language/Mixins/Mixin_Application/superinterfaces_t13: Crash
 Language/Mixins/Mixin_Application/superinterfaces_t14: Crash
 Language/Mixins/Mixin_Application/syntax_t26: Crash
@@ -264,38 +117,11 @@
 Language/Mixins/declaring_constructor_t05: MissingCompileTimeError # Mixin constructor
 Language/Mixins/declaring_constructor_t06: MissingCompileTimeError # Mixin constructor
 Language/Mixins/declaring_constructor_t11: Crash
-Language/Overview/Privacy/private_and_public_t11: CompileTimeError
 Language/Reference/Operator_Precedence/precedence_01_assignment_t14: Skip # triple-shift experimental flag
 Language/Reference/Operator_Precedence/precedence_12_Shift_t04: Skip # triple-shift experimental flag
 Language/Reference/Operator_Precedence/precedence_t05: Skip # triple-shift experimental flag
-Language/Statements/Continue/async_loops_t01: CompileTimeError
-Language/Statements/Continue/async_loops_t02: CompileTimeError
-Language/Statements/Continue/async_loops_t03: CompileTimeError
-Language/Statements/Continue/async_loops_t04: CompileTimeError
-Language/Statements/Continue/async_loops_t05: CompileTimeError
-Language/Statements/Continue/async_loops_t06: CompileTimeError
-Language/Statements/Continue/async_loops_t07: CompileTimeError
-Language/Statements/Continue/async_loops_t08: CompileTimeError
-Language/Statements/Continue/async_loops_t09: CompileTimeError
-Language/Statements/Continue/async_loops_t10: CompileTimeError
-Language/Statements/Continue/control_transfer_t08: CompileTimeError
-Language/Statements/Continue/control_transfer_t09: CompileTimeError
 Language/Statements/Continue/label_t07: MissingCompileTimeError # Issue 34206
 Language/Statements/Expression_Statements/syntax_t06: Skip # triple-shift experimental flag
-Language/Statements/Try/catch_scope_t01: CompileTimeError
-Language/Types/Interface_Types/subtype_t30: CompileTimeError
-Language/Types/Type_Aliases/scope_t01: CompileTimeError
-Language/Types/Type_Aliases/scope_t02/none: CompileTimeError
-Language/Types/Type_Aliases/scope_t03: CompileTimeError
-Language/Types/Type_Aliases/scope_t04/none: CompileTimeError
-Language/Types/Type_Aliases/syntax_t01: CompileTimeError
-Language/Types/Type_Aliases/syntax_t02: CompileTimeError
-Language/Types/Type_Aliases/syntax_t03: CompileTimeError
-Language/Types/Type_Aliases/syntax_t04: CompileTimeError
-Language/Types/Type_Aliases/syntax_t20: CompileTimeError
-Language/Types/Type_Aliases/syntax_t21: CompileTimeError
-LanguageFeatures/Constant-update-2018/EqualityOperator_A01_t09: MissingCompileTimeError
-LanguageFeatures/Constant-update-2018/EqualityOperator_A01_t10: MissingCompileTimeError
 LanguageFeatures/Constant-update-2018/NewOperators_A01_t01: Crash
 LanguageFeatures/Constant-update-2018/NewOperators_A01_t02: Crash
 LanguageFeatures/Constant-update-2018/NewOperators_A01_t03/01: Crash
@@ -354,293 +180,28 @@
 LanguageFeatures/Constant-update-2018/NewOperators_A01_t12/05: Crash
 LanguageFeatures/Constant-update-2018/NewOperators_A01_t12/none: Crash
 LanguageFeatures/Instantiate-to-bound/class/dynamic/class_FutureOr_l1_t01: Crash
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_FutureOr_l1_t02: CompileTimeError
 LanguageFeatures/Instantiate-to-bound/class/dynamic/class_FutureOr_l1_t03: Crash
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_FutureOr_l1_t04: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_l1_t04: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_l2_t03: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_l2_t04: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_l3_t02: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_typedef_l2_t02: RuntimeError
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t01: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t01/01: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t01/02: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t01/03: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t01/04: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t01/none: Crash
-LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t02/none: CompileTimeError
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t03/01: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t03/02: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t03/none: Crash
-LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l1_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t03/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t08/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t08/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l2_t08/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_l3_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/01: Crash, Pass
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/02: Crash, Pass
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/01: Crash
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/02: Crash
 LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/none: Crash
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t04/01: Crash, Pass
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t04/none: Crash, Pass
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t06/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t08/01: Crash, Pass
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t08/02: Crash, Pass
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t08/none: Crash, Pass
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l1_t07: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t03: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t04: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t03: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t04: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t10: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t03: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t03: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_typedef_l1_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_typedef_l1_t06: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_FutureOr_l1_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/05: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/06: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t04/07: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t05/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t07/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/05: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/06: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t09/07: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l1_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t01/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t02/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t06/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t11/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t12/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t13/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t16/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t19/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_01_t20/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t01/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t06/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t11/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t12/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t13/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t16/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t19/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_02_t20/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t01/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t02/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t03/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t06/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t10: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t11: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t12/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t13/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t16/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t19/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_03_t20/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t01/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t02/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t06/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t11/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t12/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t13/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t16/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t19/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_04_t20/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t01/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t02/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t06/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t11/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t12/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t13/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t16/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t19/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_05_t20/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t01/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t02/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t06/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t11/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t12/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t13/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t16/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t19/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_06_t20/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t01/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t06/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_l2_t15: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t02/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t03/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/05: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/06: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t04/07: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t05/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t06/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t07/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/02: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/03: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/04: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/05: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/06: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t08/07: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t09/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t10/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t11/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t13/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t14/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t15/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t17/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t18/01: MissingCompileTimeError
-LanguageFeatures/Instantiate-to-bound/typedef/static/typedef_typedef_l1_t19/01: MissingCompileTimeError
-LanguageFeatures/Set-literals/disambiguating_A02_t02: CompileTimeError
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t04/01: Crash
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t04/none: Crash
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t08/01: Crash
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t08/02: Crash
+LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l2_t08/none: Crash
 LanguageFeatures/Set-literals/disambiguating_A02_t03: Crash
-LanguageFeatures/Set-literals/exact_types_of_literals_A01_t03: RuntimeError
-LanguageFeatures/Set-literals/type_inference_A07_t01: CompileTimeError
-LanguageFeatures/Set-literals/type_inference_A08_t01: CompileTimeError
-LanguageFeatures/Set-literals/type_inference_A09_t01: CompileTimeError
-LanguageFeatures/Set-literals/type_inference_A10_t01: CompileTimeError
-LanguageFeatures/Set-literals/type_inference_A10_t02: CompileTimeError
-LanguageFeatures/Simple-bounds/dynamic/class_FutureOr_l1_t02: CompileTimeError
-LanguageFeatures/Simple-bounds/static/class_FutureOr_l1_t02/none: CompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_FutureOr_l1_t02/none: CompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_l1_t07/none: CompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_l2_t02/none: CompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_typedef_l1_t04/01: MissingCompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_typedef_l1_t04/02: MissingCompileTimeError
-LanguageFeatures/Simple-bounds/static/typedef_typedef_l1_t10: CompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t03/06: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t03/07: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t03/08: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t03/09: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t04/06: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t04/07: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t04/08: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A01_t04/09: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A03_t02/06: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A03_t02/07: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A03_t02/08: MissingCompileTimeError
-LanguageFeatures/Spread-collections/TypeInference_A03_t02/09: MissingCompileTimeError
 LanguageFeatures/Super-mixins/covariance_t03: MissingCompileTimeError # Issue 35111
 LanguageFeatures/Super-mixins/covariance_t06: MissingCompileTimeError # Issue 35111
 LanguageFeatures/Super-mixins/covariance_t07: MissingCompileTimeError # Issue 35111
-LanguageFeatures/regression/33597_t01: MissingCompileTimeError
-LanguageFeatures/regression/33701_t01: MissingCompileTimeError
-LanguageFeatures/regression/34635_t01: CompileTimeError
-LanguageFeatures/regression/34635_t02: CompileTimeError
-LanguageFeatures/regression/34635_t03: CompileTimeError
 LanguageFeatures/regression/34803_t01: Crash
 LanguageFeatures/regression/34803_t02: Crash
 
@@ -650,80 +211,12 @@
 LibTest/core/List/List_class_A01_t02: Crash # Issue http://dartbug.com/35242
 
 [ $arch == simdbc64 && $system == macos && ($compiler == dartk || $compiler == dartkb) ]
-LanguageFeatures/Subtyping/static/generated/function_type_function_arguments_binding_A04_t02: Crash, Pass
-LibTest/io/Directory/watch_A01_t02: RuntimeError, Pass
-LibTest/io/Directory/watch_A02_t01: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/type_A01_t01: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/type_A01_t02: RuntimeError, Pass
-LibTest/io/HttpClientRequest/add_A05_t01: RuntimeError, Pass
-LibTest/io/HttpClientRequest/contentLength_A02_t01: RuntimeError, Pass
-LibTest/io/HttpClientRequest/headers_A03_t01: RuntimeError, Pass
-LibTest/io/Stdout/writeCharCode_A01_t03: Timeout, Pass
+LanguageFeatures/Subtyping/static/generated/function_type_function_arguments_binding_A04_t02: Crash
 
 [ $arch == simdbc64 && ($compiler == dartk || $compiler == dartkb) ]
 LibTest/collection/ListBase/ListBase_class_A01_t02: Timeout, Pass # https://github.com/dart-lang/sdk/issues/35316 as well?
 LibTest/collection/ListMixin/ListMixin_class_A01_t02: Timeout, Pass # https://github.com/dart-lang/sdk/issues/35316 as well?
-LibTest/io/Link/renameSync_A02_t01: RuntimeError, Pass
-LibTest/io/Process/start_A01_t01: RuntimeError
-LibTest/io/Process/start_A02_t01: RuntimeError
-LibTest/io/Process/start_A02_t02: RuntimeError
-LibTest/io/Process/start_A03_t01: RuntimeError
-LibTest/io/Process/start_A03_t02: RuntimeError
-LibTest/io/ProcessSignal/watch_A01_t01: RuntimeError
-LibTest/io/ProcessSignal/watch_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A01_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t03: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t04: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A03_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A03_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A03_t03: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t03: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t04: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A05_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A01_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A01_t04: RuntimeError
-LibTest/io/RandomAccessFile/lock_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A02_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A02_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A03_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A03_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A03_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t04: RuntimeError
-LibTest/io/RandomAccessFile/lock_A05_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A05_t02: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A01_t01: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A01_t03: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A01_t03: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A01_t04: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/any_A03_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/timeout_A03_t01: RuntimeError, Pass
-LibTest/io/RawSecureServerSocket/first_A02_t01: RuntimeError
-LibTest/io/RawSecureServerSocket/first_A02_t02: RuntimeError
-LibTest/io/RawSecureServerSocket/first_A03_t01: RuntimeError
-LibTest/io/RawSecureServerSocket/isEmpty_A01_t02: RuntimeError
-LibTest/io/RawSecureServerSocket/last_A02_t01: RuntimeError
-LibTest/io/RawSecureServerSocket/length_A01_t02: RuntimeError
-LibTest/io/RawSecureServerSocket/single_A01_t03: RuntimeError
-LibTest/io/RawSecureServerSocket/single_A02_t01: RuntimeError
-LibTest/io/Stdin/first_A01_t01: RuntimeError, Pass
-LibTest/io/Stdout/add_A02_t01: RuntimeError, Pass
-LibTest/io/Stdout/add_A04_t01: RuntimeError, Pass
-LibTest/io/stderr/stderr_A01_t01: RuntimeError, Pass
-LibTest/isolate/Isolate/ping_A03_t02: RuntimeError, Pass
-LibTest/isolate/Isolate/removeErrorListener_A02_t01: Crash, Pass
+LibTest/isolate/Isolate/removeErrorListener_A02_t01: Crash
 
 [ $compiler != dart2js && $runtime != vm && $fasta ]
 Language/Classes/Constructors/Constant_Constructors/invalid_constant_initializer_t02: MissingCompileTimeError # Issue 34192
@@ -734,712 +227,27 @@
 Language/Statements/Switch/equal_operator_t01: MissingCompileTimeError # Issue 32557
 Language/Statements/Switch/equal_operator_t02: MissingCompileTimeError # Issue 32557
 
-[ $mode == debug && $runtime == vm && $system == linux && ($compiler == dartk || $compiler == dartkb) ]
-LibTest/io/Stdin/readByteSync_A02_t01: RuntimeError, Pass
-LibTest/io/WebSocket/pingInterval_A01_t01: RuntimeError, Pass
-
 [ $runtime == vm && $system == linux && ($compiler == dartk || $compiler == dartkb) ]
-LibTest/io/Link/stat_A01_t01: RuntimeError
-LibTest/isolate/Isolate/spawn_A06_t03: Crash, Pass
+LibTest/isolate/Isolate/spawn_A06_t03: Crash
 
 [ $runtime == vm && $system == macos && ($compiler == dartk || $compiler == dartkb) ]
-LibTest/collection/ListBase/ListBase_class_A01_t02: Pass, Slow
-LibTest/collection/ListBase/ListBase_class_A01_t03: Pass, Slow
-LibTest/collection/ListMixin/ListMixin_class_A01_t02: Pass, Slow
-LibTest/collection/ListMixin/ListMixin_class_A01_t03: Pass, Slow
-LibTest/core/List/List_class_A01_t02: Pass, Slow
-LibTest/core/List/List_class_A01_t03: Pass, Slow
-LibTest/io/Directory/watch_A01_t02: RuntimeError, Pass
-LibTest/io/Directory/watch_A02_t01: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t03: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t04: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t05: RuntimeError, Pass, Timeout
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t06: Timeout, Pass
-LibTest/io/FileSystemCreateEvent/type_A01_t01: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/type_A01_t02: RuntimeError, Pass
-LibTest/io/FileSystemCreateEvent/type_A01_t03: RuntimeError, Pass, Timeout
-LibTest/io/FileSystemDeleteEvent/isDirectory_A01_t07: RuntimeError
-LibTest/io/FileSystemDeleteEvent/path_A01_t02: RuntimeError, Pass
-LibTest/io/FileSystemDeleteEvent/path_A01_t03: RuntimeError, Pass
-LibTest/io/FileSystemDeleteEvent/type_A01_t03: RuntimeError, Pass
-LibTest/io/FileSystemModifyEvent/contentChanged_A01_t01: Fail, Timeout
-LibTest/io/FileSystemModifyEvent/contentChanged_A01_t02: Timeout, Pass
-LibTest/io/FileSystemModifyEvent/isDirectory_A01_t01: Timeout, Pass
-LibTest/io/FileSystemModifyEvent/path_A01_t02: Timeout, Pass
-LibTest/io/FileSystemModifyEvent/type_A01_t01: Timeout, Pass
-LibTest/io/FileSystemMoveEvent/destination_A01_t01: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/destination_A01_t02: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/destination_A01_t03: RuntimeError, Fail, Timeout
-LibTest/io/FileSystemMoveEvent/isDirectory_A01_t01: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/isDirectory_A01_t02: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/isDirectory_A01_t03: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/path_A01_t01: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/path_A01_t02: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/path_A01_t03: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/type_A01_t01: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/type_A01_t02: Fail, Timeout
-LibTest/io/FileSystemMoveEvent/type_A01_t03: Fail, Timeout
-LibTest/io/HttpClientRequest/contentLength_A02_t01: RuntimeError, Pass
-LibTest/io/HttpClientRequest/headers_A03_t01: RuntimeError, Pass
-LibTest/io/Link/stat_A01_t01: RuntimeError
-LibTest/io/Process/exitCode_A01_t02: RuntimeError
-LibTest/io/Process/killPid_A01_t01: RuntimeError
-LibTest/io/Process/killPid_A01_t02: RuntimeError
-LibTest/io/Process/kill_A01_t01: RuntimeError
-LibTest/io/Process/runSync_A01_t01: RuntimeError
-LibTest/io/Process/runSync_A02_t01: RuntimeError
-LibTest/io/Process/runSync_A02_t02: RuntimeError
-LibTest/io/Process/run_A01_t01: RuntimeError
-LibTest/io/Process/run_A02_t01: RuntimeError
-LibTest/io/Process/run_A02_t02: RuntimeError
-LibTest/io/Process/start_A04_t01: RuntimeError
-LibTest/io/Process/start_A05_t01: RuntimeError
-LibTest/io/Process/start_A06_t01: RuntimeError
-LibTest/io/ProcessSignal/watch_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/asyncExpand_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/asyncExpand_A01_t04: RuntimeError
-LibTest/io/RawDatagramSocket/asyncMap_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/asyncMap_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/broadcastEnable_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/cast_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/contains_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/distinct_A01_t01: Timeout, Pass
-LibTest/io/RawDatagramSocket/distinct_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/distinct_A01_t04: RuntimeError
-LibTest/io/RawDatagramSocket/distinct_A01_t05: RuntimeError
-LibTest/io/RawDatagramSocket/distinct_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/drain_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/drain_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/elementAt_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/elementAt_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/elementAt_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/every_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/every_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/every_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/every_A02_t03: RuntimeError
-LibTest/io/RawDatagramSocket/expand_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/expand_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/expand_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/expand_A04_t01: RuntimeError
-LibTest/io/RawDatagramSocket/firstWhere_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/firstWhere_A01_t03: Timeout, Pass
-LibTest/io/RawDatagramSocket/firstWhere_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/firstWhere_A02_t03: RuntimeError
-LibTest/io/RawDatagramSocket/firstWhere_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/firstWhere_A04_t02: RuntimeError
-LibTest/io/RawDatagramSocket/firstWhere_A04_t03: RuntimeError
-LibTest/io/RawDatagramSocket/fold_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/forEach_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/forEach_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/handleError_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/handleError_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/handleError_A03_t02: RuntimeError
-LibTest/io/RawDatagramSocket/handleError_A03_t03: RuntimeError
-LibTest/io/RawDatagramSocket/handleError_A04_t01: RuntimeError
-LibTest/io/RawDatagramSocket/isEmpty_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/lastWhere_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/lastWhere_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/lastWhere_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/last_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/last_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/length_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/length_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/listen_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/listen_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/listen_A04_t02: RuntimeError
-LibTest/io/RawDatagramSocket/map_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/map_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/map_A04_t01: RuntimeError
-LibTest/io/RawDatagramSocket/map_A04_t02: RuntimeError
-LibTest/io/RawDatagramSocket/pipe_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/readEventsEnable_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/receive_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/reduce_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/send_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/send_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/send_A01_t03: RuntimeError, Timeout
-LibTest/io/RawDatagramSocket/singleWhere_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/singleWhere_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/singleWhere_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/singleWhere_A03_t02: RuntimeError
-LibTest/io/RawDatagramSocket/singleWhere_A03_t03: RuntimeError
-LibTest/io/RawDatagramSocket/skipWhile_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/skipWhile_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/skipWhile_A02_t03: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A01_t04: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A01_t05: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/takeWhile_A05_t01: RuntimeError
-LibTest/io/RawDatagramSocket/take_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/take_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/take_A01_t04: RuntimeError
-LibTest/io/RawDatagramSocket/take_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/timeout_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/timeout_A03_t01: RuntimeError
-LibTest/io/RawDatagramSocket/timeout_A04_t01: RuntimeError
-LibTest/io/RawDatagramSocket/timeout_A06_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/toList_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/transform_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/transform_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/where_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/where_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/where_A01_t03: RuntimeError
-LibTest/io/RawDatagramSocket/where_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/where_A04_t01: RuntimeError
-LibTest/io/Stdin/readByteSync_A02_t01: RuntimeError
-LibTest/io/Stdin/readLineSync_A03_t01: RuntimeError, Pass
-LibTest/io/Stdin/readLineSync_A03_t03: RuntimeError, Pass
-LibTest/io/Stdout/add_A02_t04: RuntimeError, Pass
-LibTest/io/WebSocket/pingInterval_A01_t01: RuntimeError, Pass
-LibTest/math/acos_A01_t01: RuntimeError
-LibTest/math/asin_A01_t01: RuntimeError
-LibTest/math/atan_A01_t01: RuntimeError
-LibTest/math/cos_A01_t01: RuntimeError
-
-[ $runtime == vm && $system != macos && ($compiler == dartk || $compiler == dartkb) ]
-LibTest/io/InternetAddress/lookup_A02_t01: RuntimeError
-LibTest/io/InternetAddress/lookup_A03_t01: RuntimeError
-LibTest/io/InternetAddress/lookup_A03_t02: RuntimeError
-LibTest/io/RawDatagramSocket/receive_A02_t02: RuntimeError
-
-[ $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
-Language/Expressions/Constants/exception_t02/01: MissingRuntimeError
-Language/Expressions/Function_Invocation/async_invokation_t02: RuntimeError
-Language/Expressions/Logical_Boolean_Expressions/syntax_t01: RuntimeError
-Language/Statements/Assert/execution_t08: RuntimeError
-Language/Types/Function_Types/call_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_typedef_l2_t06: RuntimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_FutureOr_l1_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/none: CompileTimeError
-LanguageFeatures/Instantiate-to-bound/class/static/class_typedef_l1_t04/none: DartkCrash
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_FutureOr_l1_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t10: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_01_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t10: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_02_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t03: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t04: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_03_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t04: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t10: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_04_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t04: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_05_t10: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t01: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t03: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t04: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t05: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t10: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_06_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t06: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t11: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t12: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t13: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t14: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t15: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t16: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_typedef_l1_t02: RuntimeError
-LanguageFeatures/Simple-bounds/dynamic/typedef_FutureOr_l1_t02: RuntimeError
-LanguageFeatures/Simple-bounds/dynamic/typedef_l1_t07: RuntimeError
-LanguageFeatures/Simple-bounds/dynamic/typedef_l1_t12: RuntimeError
-LanguageFeatures/Simple-bounds/dynamic/typedef_l2_t02: RuntimeError
-LanguageFeatures/regression/33701_t01: MissingCompileTimeError
-LanguageFeatures/regression/34803_t01: DartkCrash
-LanguageFeatures/regression/34803_t02: DartkCrash
-LibTest/async/Stream/Stream.fromIterable_A02_t01: RuntimeError
-LibTest/async/StreamSink/addStream_A01_t02: RuntimeError
-LibTest/core/Function/Function_class_A01_t01: RuntimeError
-LibTest/io/Cookie/Cookie_A01_t04: RuntimeError
-LibTest/io/Directory/watch_A01_t01: Fail, Pass
-LibTest/io/Directory/watch_A02_t01: Fail
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t01: Fail, Pass
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t02: Fail, Pass
-LibTest/io/FileSystemCreateEvent/path_A01_t01: Fail, Pass
-LibTest/io/FileSystemEntity/identical_A01_t06: Fail
-LibTest/io/FileSystemModifyEvent/isDirectory_A01_t02: Fail
-LibTest/io/FileSystemModifyEvent/path_A01_t01: Fail
-LibTest/io/FileSystemModifyEvent/type_A01_t02: Fail
-LibTest/io/HeaderValue/parse_A03_t01: RuntimeError
-LibTest/io/HttpClientRequest/addError_A02_t01: RuntimeError
-LibTest/io/HttpClientRequest/addStream_A01_t01: RuntimeError
-LibTest/io/HttpClientRequest/addStream_A02_t01: RuntimeError
-LibTest/io/HttpClientRequest/add_A03_t02: RuntimeError
-LibTest/io/HttpClientRequest/flush_A02_t01: RuntimeError
-LibTest/io/HttpClientRequest/flush_A02_t02: RuntimeError
-LibTest/io/Link/renameSync_A02_t01: RuntimeError, Pass
-LibTest/io/Link/watch_A01_t01: Fail
-LibTest/io/NetworkInterface/list_A02_t01: RuntimeError
-LibTest/io/NetworkInterface/list_A02_t02: RuntimeError
-LibTest/io/NetworkInterface/list_A02_t03: RuntimeError
-LibTest/io/Process/exitCode_A01_t01: RuntimeError
-LibTest/io/Process/kill_A01_t02: RuntimeError, Pass
-LibTest/io/Process/pid_A01_t01: RuntimeError
-LibTest/io/Process/start_A01_t02: RuntimeError
-LibTest/io/ProcessResult/ProcessResult_A01_t02: RuntimeError
-LibTest/io/ProcessResult/ProcessResult_A01_t03: RuntimeError
-LibTest/io/ProcessResult/exitCode_A01_t01: RuntimeError
-LibTest/io/ProcessResult/exitCode_A01_t02: RuntimeError
-LibTest/io/ProcessResult/stderr_A01_t01: RuntimeError
-LibTest/io/ProcessResult/stderr_A01_t02: RuntimeError
-LibTest/io/ProcessResult/stdout_A01_t01: RuntimeError
-LibTest/io/ProcessResult/stdout_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/writeByte_A01_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A01_t04: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A01_t05: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A01_t06: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A02_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A02_t02: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A02_t03: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A02_t04: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/asBroadcastStream_A01_t03: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/asBroadcastStream_A02_t02: Timeout, Pass
-LibTest/io/RawDatagramSocket/close_A01_t02: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/join_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/join_A01_t02: RuntimeError
-LibTest/io/RawDatagramSocket/reduce_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/reduce_A02_t02: RuntimeError
-LibTest/io/RawDatagramSocket/reduce_A04_t01: RuntimeError
-LibTest/io/RawDatagramSocket/single_A02_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/single_A03_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/skipWhile_A04_t01: RuntimeError, Pass
-LibTest/io/WebSocket/connect_A01_t01: RuntimeError
-LibTest/io/WebSocket/connect_A01_t02: RuntimeError
-LibTest/isolate/Isolate/pause_A01_t01: Timeout, Pass
-LibTest/isolate/Isolate/pause_A01_t02: Timeout, Pass
-LibTest/isolate/Isolate/ping_A02_t01: Timeout, Pass
-LibTest/isolate/Isolate/ping_A03_t01: RuntimeError, Pass
-LibTest/isolate/Isolate/ping_A03_t02: RuntimeError, Pass
-LibTest/isolate/ReceivePort/firstWhere_A01_t01: RuntimeError
-LibTest/isolate/ReceivePort/firstWhere_A02_t01: RuntimeError
-LibTest/isolate/ReceivePort/transform_A01_t01: RuntimeError
+LibTest/collection/ListBase/ListBase_class_A01_t02: Slow
+LibTest/collection/ListBase/ListBase_class_A01_t03: Slow
+LibTest/collection/ListMixin/ListMixin_class_A01_t02: Slow
+LibTest/collection/ListMixin/ListMixin_class_A01_t03: Slow
+LibTest/core/List/List_class_A01_t02: Slow
+LibTest/core/List/List_class_A01_t03: Slow
 
 [ $runtime != vm && $fasta ]
 Language/Classes/Constructors/Constant_Constructors/potentially_constant_expression_t01: MissingCompileTimeError # Issue 34192
 
 [ $runtime != vm && ($compiler == dartk || $compiler == dartkb) ]
 Language/Classes/Constructors/Constant_Constructors/potentially_constant_expression_t01: Crash
-Language/Expressions/Booleans/Boolean_Conversion/definition_t01: RuntimeError
-Language/Expressions/Unary_Expressions/variable_negative_t03: RuntimeError
-Language/Metadata/before_export_t01: RuntimeError
-Language/Metadata/before_import_t01: RuntimeError
-Language/Metadata/before_param_t01: RuntimeError
-Language/Metadata/before_param_t02: RuntimeError
-Language/Metadata/before_param_t03: RuntimeError
-Language/Metadata/before_param_t04: RuntimeError
-Language/Metadata/before_param_t05: RuntimeError
-Language/Metadata/before_param_t07: RuntimeError
-Language/Statements/Do/execution_t06: RuntimeError
-Language/Statements/For/For_Loop/execution_t11: RuntimeError
-Language/Statements/While/execution_t02: RuntimeError
-LibTest/collection/LinkedList/add_A01_t01: RuntimeError
-LibTest/collection/LinkedList/forEach_A01_t01: RuntimeError
-LibTest/collection/LinkedList/map_A01_t01: RuntimeError
-LibTest/collection/LinkedList/map_A02_t01: RuntimeError
-LibTest/collection/LinkedList/map_A03_t01: RuntimeError
-LibTest/collection/LinkedList/reduce_A01_t01: RuntimeError
-LibTest/collection/LinkedList/reduce_A03_t01: RuntimeError
-LibTest/collection/LinkedList/reduce_A04_t01: RuntimeError
-LibTest/collection/LinkedList/singleWhere_A01_t01: RuntimeError
-LibTest/collection/LinkedList/singleWhere_A02_t01: RuntimeError
-LibTest/collection/LinkedList/singleWhere_A02_t02: RuntimeError
-LibTest/collection/LinkedList/skipWhile_A01_t01: RuntimeError
-LibTest/collection/LinkedList/skipWhile_A03_t01: RuntimeError
-LibTest/collection/LinkedList/skipWhile_A04_t01: RuntimeError
-LibTest/collection/LinkedList/skipWhile_A05_t01: RuntimeError
-LibTest/collection/LinkedList/takeWhile_A01_t01: RuntimeError
-LibTest/collection/LinkedList/takeWhile_A01_t02: RuntimeError
-LibTest/collection/LinkedList/takeWhile_A02_t01: RuntimeError
-LibTest/collection/LinkedList/takeWhile_A03_t01: RuntimeError
-LibTest/collection/LinkedList/take_A01_t01: RuntimeError
-LibTest/collection/LinkedList/take_A03_t01: RuntimeError
-LibTest/collection/LinkedList/where_A01_t01: RuntimeError
-LibTest/collection/LinkedList/where_A02_t01: RuntimeError
-LibTest/io/Directory/watch_A01_t01: RuntimeError
-LibTest/io/Directory/watch_A01_t02: RuntimeError
-LibTest/io/Directory/watch_A02_t01: RuntimeError
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t01: RuntimeError
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t02: RuntimeError
-LibTest/io/FileSystemCreateEvent/isDirectory_A01_t04: RuntimeError
-LibTest/io/FileSystemCreateEvent/path_A01_t01: RuntimeError
-LibTest/io/FileSystemCreateEvent/type_A01_t01: RuntimeError
-LibTest/io/FileSystemCreateEvent/type_A01_t02: RuntimeError
-LibTest/io/FileSystemCreateEvent/type_A01_t03: RuntimeError
-LibTest/io/FileSystemDeleteEvent/isDirectory_A01_t01: RuntimeError
-LibTest/io/FileSystemDeleteEvent/isDirectory_A01_t02: RuntimeError
-LibTest/io/FileSystemDeleteEvent/isDirectory_A01_t03: RuntimeError
-LibTest/io/FileSystemDeleteEvent/isDirectory_A01_t04: RuntimeError
-LibTest/io/FileSystemDeleteEvent/isDirectory_A01_t05: RuntimeError
-LibTest/io/FileSystemDeleteEvent/path_A01_t01: RuntimeError
-LibTest/io/FileSystemDeleteEvent/path_A01_t02: RuntimeError
-LibTest/io/FileSystemDeleteEvent/path_A01_t03: RuntimeError
-LibTest/io/FileSystemDeleteEvent/type_A01_t01: RuntimeError
-LibTest/io/FileSystemDeleteEvent/type_A01_t02: RuntimeError
-LibTest/io/FileSystemDeleteEvent/type_A01_t03: RuntimeError
-LibTest/io/FileSystemModifyEvent/isDirectory_A01_t01: RuntimeError
-LibTest/io/FileSystemModifyEvent/path_A01_t02: RuntimeError
-LibTest/io/FileSystemModifyEvent/type_A01_t01: RuntimeError
-LibTest/io/FileSystemMoveEvent/destination_A01_t01: RuntimeError
-LibTest/io/FileSystemMoveEvent/destination_A01_t02: RuntimeError
-LibTest/io/FileSystemMoveEvent/destination_A01_t03: RuntimeError
-LibTest/io/FileSystemMoveEvent/isDirectory_A01_t01: RuntimeError
-LibTest/io/FileSystemMoveEvent/isDirectory_A01_t02: RuntimeError
-LibTest/io/FileSystemMoveEvent/isDirectory_A01_t03: RuntimeError
-LibTest/io/FileSystemMoveEvent/path_A01_t01: RuntimeError
-LibTest/io/FileSystemMoveEvent/path_A01_t02: RuntimeError
-LibTest/io/FileSystemMoveEvent/path_A01_t03: RuntimeError
-LibTest/io/FileSystemMoveEvent/type_A01_t01: RuntimeError
-LibTest/io/FileSystemMoveEvent/type_A01_t02: RuntimeError
-LibTest/io/FileSystemMoveEvent/type_A01_t03: RuntimeError
-LibTest/io/HttpClient/autoUncompress_A02_t01: RuntimeError
-LibTest/io/HttpClient/autoUncompress_A04_t01: RuntimeError
-LibTest/io/HttpClient/autoUncompress_A04_t03: RuntimeError
-LibTest/io/HttpServer/autoCompress_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t03: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A02_t04: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A03_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A03_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A03_t03: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t01: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t02: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t03: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A04_t04: RuntimeError
-LibTest/io/RandomAccessFile/lockSync_A05_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A01_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A01_t04: RuntimeError
-LibTest/io/RandomAccessFile/lock_A02_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A02_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A03_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A03_t03: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t02: RuntimeError
-LibTest/io/RandomAccessFile/lock_A04_t04: RuntimeError
-LibTest/io/RandomAccessFile/lock_A05_t01: RuntimeError
-LibTest/io/RandomAccessFile/lock_A05_t02: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A01_t01: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/unlockSync_A01_t03: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A01_t02: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A01_t04: RuntimeError
-LibTest/io/RandomAccessFile/unlock_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/any_A01_t04: Timeout
-LibTest/io/RawDatagramSocket/any_A01_t05: RuntimeError
-LibTest/io/Stdin/readByteSync_A01_t02: RuntimeError
-LibTest/io/Stdin/supportsAnsiEscapes_A02_t01: RuntimeError
-LibTest/io/Stdout/supportsAnsiEscapes_A02_t01: RuntimeError
-LibTest/io/Stdout/writeAll_A02_t05: RuntimeError
-LibTest/io/Stdout/writeCharCode_A01_t03: RuntimeError
-LibTest/isolate/Isolate/ping_A03_t02: RuntimeError, Pass
-LibTest/isolate/Isolate/ping_A03_t02: RuntimeError
-LibTest/isolate/ReceivePort/any_A01_t01: RuntimeError
-LibTest/isolate/ReceivePort/firstWhere_A03_t02: RuntimeError
-LibTest/isolate/ReceivePort/lastWhere_A04_t01: RuntimeError
-LibTest/isolate/ReceivePort/singleWhere_A02_t01: RuntimeError
-LibTest/typed_data/Float32x4List/first_A01_t02: RuntimeError
-LibTest/typed_data/Float32x4List/last_A01_t02: RuntimeError
-LibTest/typed_data/Float64List/first_A01_t02: RuntimeError
-LibTest/typed_data/Float64List/last_A01_t02: RuntimeError
-LibTest/typed_data/Float64x2List/first_A01_t02: RuntimeError
-LibTest/typed_data/Float64x2List/last_A01_t02: RuntimeError
-LibTest/typed_data/Int16List/first_A01_t02: RuntimeError
-LibTest/typed_data/Int16List/last_A01_t02: RuntimeError
-LibTest/typed_data/Int32List/first_A01_t02: RuntimeError
-LibTest/typed_data/Int32List/last_A01_t02: RuntimeError
-LibTest/typed_data/Int32x4List/first_A01_t02: RuntimeError
-LibTest/typed_data/Int32x4List/last_A01_t02: RuntimeError
-LibTest/typed_data/Int64List/first_A01_t02: RuntimeError
-LibTest/typed_data/Int64List/last_A01_t02: RuntimeError
-LibTest/typed_data/Int8List/first_A01_t02: RuntimeError
-LibTest/typed_data/Int8List/last_A01_t02: RuntimeError
-LibTest/typed_data/Uint16List/first_A01_t02: RuntimeError
-LibTest/typed_data/Uint16List/last_A01_t02: RuntimeError
-LibTest/typed_data/Uint32List/first_A01_t02: RuntimeError
-LibTest/typed_data/Uint32List/last_A01_t02: RuntimeError
-LibTest/typed_data/Uint64List/first_A01_t02: RuntimeError
-LibTest/typed_data/Uint8ClampedList/first_A01_t02: RuntimeError
-LibTest/typed_data/Uint8ClampedList/last_A01_t02: RuntimeError
-LibTest/typed_data/Uint8List/first_A01_t02: RuntimeError
-LibTest/typed_data/Uint8List/last_A01_t02: RuntimeError
 
 [ $compiler == dartk || $compiler == dartkb ]
-Language/Expressions/Additive_Expressions/syntax_t01: RuntimeError
-Language/Expressions/Assignment/null_aware_assignment_static_type_t01: RuntimeError
-Language/Expressions/Function_Invocation/async_generator_invokation_t08: Fail
-Language/Expressions/Function_Invocation/async_generator_invokation_t10: Fail
-Language/Expressions/Instance_Creation/Const/canonicalized_t05: RuntimeError
-Language/Expressions/Instance_Creation/New/evaluation_t19: RuntimeError
-Language/Expressions/Instance_Creation/New/evaluation_t20: RuntimeError
-Language/Expressions/Lists/identical_t02: RuntimeError
-Language/Expressions/Maps/identical_t02: RuntimeError
-Language/Expressions/Object_Identity/string_t01: RuntimeError
-Language/Expressions/Strings/adjacent_strings_t02: RuntimeError
-Language/Expressions/Type_Cast/syntax_t01: RuntimeError
-Language/Functions/External_Functions/not_connected_to_a_body_t01: RuntimeError
-Language/Libraries_and_Scripts/Imports/deferred_import_t01: RuntimeError
-Language/Libraries_and_Scripts/Parts/compilation_t03: RuntimeError
-Language/Libraries_and_Scripts/Parts/compilation_t05: RuntimeError
-Language/Libraries_and_Scripts/Scripts/top_level_main_t01: Crash, Pass
-Language/Metadata/before_param_t09: RuntimeError
-Language/Metadata/before_type_param_t01: RuntimeError
-Language/Metadata/before_typedef_t01: RuntimeError
-Language/Overview/Privacy/private_and_public_t18: RuntimeError
-Language/Statements/Assert/execution_t03: RuntimeError
-Language/Statements/Assert/execution_t09: RuntimeError
-Language/Statements/Assert/execution_t11: RuntimeError
-Language/Statements/For/For_in/execution_t02: RuntimeError
-Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t08: RuntimeError
-Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t09: RuntimeError
-Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t10: RuntimeError
-Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_sync_t05: RuntimeError
-Language/Types/Function_Types/subtype_named_args_t01: RuntimeError
-Language/Types/Function_Types/subtype_named_args_t02: RuntimeError
-Language/Types/Function_Types/subtype_named_args_t03: RuntimeError
-Language/Types/Function_Types/subtype_named_args_t04: RuntimeError
-Language/Types/Function_Types/subtype_named_args_t11: RuntimeError
-Language/Types/Function_Types/subtype_named_args_t12: RuntimeError
-Language/Types/Function_Types/subtype_no_args_t04: RuntimeError
-Language/Types/Function_Types/subtype_optional_args_t01: RuntimeError
-Language/Types/Function_Types/subtype_optional_args_t02: RuntimeError
-Language/Types/Function_Types/subtype_optional_args_t03: RuntimeError
-Language/Types/Function_Types/subtype_optional_args_t04: RuntimeError
-Language/Types/Function_Types/subtype_required_args_t01: RuntimeError
-Language/Types/Function_Types/subtype_required_args_t02: RuntimeError
-Language/Types/Interface_Types/subtype_t02: RuntimeError
-Language/Types/Interface_Types/subtype_t03: RuntimeError
-Language/Types/Interface_Types/subtype_t06: RuntimeError
-Language/Types/Interface_Types/subtype_t17: RuntimeError
-Language/Types/Interface_Types/subtype_t21: RuntimeError
-Language/Types/Interface_Types/subtype_t22: RuntimeError
-Language/Types/Interface_Types/subtype_t23: RuntimeError
-Language/Types/Interface_Types/subtype_t26: RuntimeError
-Language/Variables/constant_initialization_t03: RuntimeError
-Language/Variables/constant_variable_t09: RuntimeError
-LanguageFeatures/Instantiate-to-bound/class/dynamic/class_typedef_l1_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l1_t02: RuntimeError
-LanguageFeatures/Instantiate-to-bound/typedef/dynamic/typedef_l2_t01: RuntimeError
-LibTest/async/Future/asStream_A01_t02: RuntimeError
-LibTest/async/Stream/Stream.fromFutures_A04_t03: RuntimeError
-LibTest/async/Stream/Stream.fromIterable_A03_t02: RuntimeError
-LibTest/async/Stream/Stream.periodic_A04_t03: RuntimeError
-LibTest/async/StreamController/StreamController.broadcast_A03_t02: RuntimeError
-LibTest/async/StreamController/StreamController.broadcast_A09_t03: RuntimeError
-LibTest/async/StreamController/StreamController.broadcast_A10_t03: RuntimeError
-LibTest/async/StreamController/StreamController_A03_t03: RuntimeError
-LibTest/async/StreamController/stream_A02_t03: RuntimeError
-LibTest/async/StreamController/stream_A03_t03: RuntimeError
-LibTest/collection/DoubleLinkedQueue/removeWhere_A02_t02: RuntimeError
-LibTest/collection/DoubleLinkedQueue/removeWhere_A02_t03: RuntimeError
-LibTest/collection/DoubleLinkedQueue/retainWhere_A02_t02: RuntimeError
-LibTest/collection/DoubleLinkedQueue/retainWhere_A02_t03: RuntimeError
-LibTest/convert/ByteConversionSink/ByteConversionSink_class_A01_t01: RuntimeError
-LibTest/convert/LineSplitter/fuse_A01_t01: RuntimeError
-LibTest/convert/StringConversionSink/asStringSink_A02_t01: RuntimeError
-LibTest/convert/StringConversionSink/asUtf8Sink_A02_t01: RuntimeError
-LibTest/convert/Utf8Codec/Utf8Codec_A01_t02: RuntimeError
-LibTest/convert/Utf8Codec/Utf8Codec_A01_t03: RuntimeError
-LibTest/convert/Utf8Codec/decode_A03_t01: RuntimeError
-LibTest/convert/Utf8Codec/decode_A03_t02: RuntimeError
-LibTest/convert/Utf8Decoder/Utf8Decoder_A02_t01: RuntimeError
-LibTest/convert/Utf8Decoder/Utf8Decoder_A02_t02: RuntimeError
-LibTest/core/AssertionError/AssertionError_A01_t01: RuntimeError
-LibTest/core/AssertionError/message_A01_t01: RuntimeError
-LibTest/core/AssertionError/toString_A01_t01: RuntimeError
-LibTest/core/RegExp/Pattern_semantics/firstMatch_CharacterEscape_A06_t02: RuntimeError
-LibTest/core/RegExp/Pattern_semantics/firstMatch_DecimalEscape_A01_t02: RuntimeError
-LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t01: RuntimeError
-LibTest/core/StackOverflowError/stackTrace_A01_t01: RuntimeError
-LibTest/core/StackOverflowError/stackTrace_A01_t02: RuntimeError
-LibTest/core/Symbol/Symbol_A01_t03: RuntimeError
-LibTest/core/Symbol/Symbol_A01_t04: RuntimeError
-LibTest/core/Symbol/Symbol_A01_t05: RuntimeError
-LibTest/core/Uri/Uri.dataFromBytes_A01_t01: RuntimeError
-LibTest/core/Uri/Uri.dataFromBytes_A01_t02: RuntimeError
-LibTest/core/Uri/Uri.dataFromBytes_A01_t03: RuntimeError
-LibTest/core/Uri/Uri.dataFromBytes_A01_t04: RuntimeError
-LibTest/core/Uri/Uri.dataFromBytes_A01_t05: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A01_t01: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A01_t02: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A01_t03: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A01_t04: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A01_t05: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A02_t01: RuntimeError
-LibTest/core/Uri/Uri.dataFromString_A02_t03: RuntimeError
-LibTest/core/Uri/Uri.directory_A05_t01: RuntimeError
-LibTest/core/Uri/Uri.file_A02_t03: RuntimeError
-LibTest/core/Uri/parse_A07_t01: RuntimeError
-LibTest/core/Uri/queryParametersAll_A01_t01: RuntimeError
-LibTest/core/Uri/queryParametersAll_A01_t02: RuntimeError
-LibTest/core/Uri/queryParametersAll_A01_t04: RuntimeError
-LibTest/core/Uri/queryParametersAll_A03_t01: RuntimeError
-LibTest/core/Uri/queryParametersAll_A04_t01: RuntimeError
-LibTest/core/UriData/UriData.fromBytes_A01_t03: RuntimeError
-LibTest/core/UriData/UriData.fromString_A02_t03: RuntimeError
-LibTest/core/UriData/UriData.fromUri_A01_t03: RuntimeError
-LibTest/core/UriData/charset_A01_t01: RuntimeError
-LibTest/core/UriData/contentText_A01_t01: RuntimeError
-LibTest/core/UriData/isBase64_A01_t01: RuntimeError
-LibTest/core/UriData/parse_A01_t01: RuntimeError
-LibTest/core/UriData/toString_A01_t01: RuntimeError
-LibTest/io/CompressionOptions/DEFAULT_A01_t01: RuntimeError
-LibTest/io/Cookie/Cookie_A01_t01: RuntimeError
-LibTest/io/Cookie/Cookie_A01_t02: RuntimeError
-LibTest/io/Cookie/domain_A01_t02: RuntimeError
-LibTest/io/Cookie/name_A01_t02: RuntimeError
-LibTest/io/Cookie/path_A01_t02: RuntimeError
-LibTest/io/Directory/deleteSync_A02_t06: RuntimeError
-LibTest/io/Directory/delete_A02_t05: RuntimeError
-LibTest/io/Directory/existsSync_A02_t02: RuntimeError
-LibTest/io/Directory/exists_A02_t02: RuntimeError
-LibTest/io/Directory/statSync_A01_t05: RuntimeError
-LibTest/io/Directory/stat_A01_t05: RuntimeError
-LibTest/io/File/statSync_A01_t05: RuntimeError
-LibTest/io/File/stat_A01_t05: RuntimeError
-LibTest/io/FileStat/changed_A01_t01: RuntimeError
-LibTest/io/FileStat/modeString_A01_t01: RuntimeError
-LibTest/io/FileStat/mode_A01_t01: RuntimeError
-LibTest/io/FileStat/modified_A01_t01: RuntimeError
-LibTest/io/FileSystemCreateEvent/path_A01_t02: RuntimeError, Fail, Pass
-LibTest/io/FileSystemCreateEvent/path_A01_t03: RuntimeError, Fail, Pass, Timeout
-LibTest/io/FileSystemEntity/isDirectorySync_A01_t03: RuntimeError
-LibTest/io/FileSystemEntity/isDirectory_A01_t03: RuntimeError
-LibTest/io/FileSystemEntity/isFileSync_A01_t03: RuntimeError
-LibTest/io/FileSystemEntity/isFile_A01_t03: RuntimeError
-LibTest/io/FileSystemModifyEvent/path_A01_t01: RuntimeError
-LibTest/io/HttpClient/addCredentials_A03_t01: RuntimeError
-LibTest/io/HttpClient/addProxyCredentials_A03_t01: RuntimeError
-LibTest/io/HttpClient/authenticateProxy_A01_t01: RuntimeError
-LibTest/io/HttpClient/authenticateProxy_A01_t02: RuntimeError
-LibTest/io/HttpClient/authenticateProxy_A02_t01: RuntimeError
-LibTest/io/HttpClient/authenticate_A01_t01: RuntimeError
-LibTest/io/HttpClient/authenticate_A01_t02: RuntimeError
-LibTest/io/HttpClient/authenticate_A02_t01: RuntimeError
-LibTest/io/HttpClient/close_A01_t01: RuntimeError
-LibTest/io/HttpClient/findProxy_A01_t01: RuntimeError
-LibTest/io/HttpClient/findProxy_A01_t02: RuntimeError
-LibTest/io/HttpClient/findProxy_A02_t01: RuntimeError
-LibTest/io/HttpClient/findProxy_A02_t02: RuntimeError
-LibTest/io/HttpClient/findProxy_A03_t01: RuntimeError
-LibTest/io/HttpClient/findProxy_A03_t02: RuntimeError
-LibTest/io/HttpClientBasicCredentials/HttpClientBasicCredentials_A01_t01: RuntimeError
-LibTest/io/HttpClientDigestCredentials/HttpClientDigestCredentials_A01_t01: RuntimeError
-LibTest/io/HttpClientRequest/addStream_A02_t02: RuntimeError
-LibTest/io/HttpClientRequest/add_A03_t01: RuntimeError
-LibTest/io/HttpClientRequest/done_A02_t01: RuntimeError, Timeout, Pass
-LibTest/io/HttpClientResponse/certificate_A01_t01: RuntimeError
-LibTest/io/HttpClientResponse/isRedirect_A01_t02: RuntimeError
-LibTest/io/HttpServer/bind_A02_t03: RuntimeError
-LibTest/io/HttpServer/bind_A03_t01: RuntimeError
-LibTest/io/HttpServer/bind_A03_t02: RuntimeError
-LibTest/io/HttpServer/bind_A05_t02: Fail
-LibTest/io/HttpServer/isBroadcast_A01_t01: RuntimeError
-LibTest/io/IOSink/IOSink_class_A01_t01: RuntimeError
-LibTest/io/IOSink/IOSink_class_A02_t01: RuntimeError
-LibTest/io/IOSink/addError_A01_t01: RuntimeError
-LibTest/io/IOSink/addError_A01_t02: RuntimeError
-LibTest/io/IOSink/addError_A01_t03: RuntimeError
-LibTest/io/IOSink/addError_A01_t04: RuntimeError
-LibTest/io/IOSink/addError_A02_t01: RuntimeError
-LibTest/io/IOSink/addError_A02_t02: RuntimeError
-LibTest/io/IOSink/addError_A03_t01: RuntimeError
-LibTest/io/IOSink/addStream_A01_t01: RuntimeError
-LibTest/io/IOSink/addStream_A02_t01: RuntimeError
-LibTest/io/IOSink/addStream_A02_t02: RuntimeError
-LibTest/io/IOSink/add_A01_t01: RuntimeError
-LibTest/io/IOSink/add_A01_t02: RuntimeError
-LibTest/io/IOSink/add_A02_t01: RuntimeError
-LibTest/io/IOSink/add_A03_t01: RuntimeError
-LibTest/io/IOSink/add_A03_t02: RuntimeError
-LibTest/io/IOSink/add_A04_t01: RuntimeError
-LibTest/io/IOSink/close_A01_t01: RuntimeError
-LibTest/io/IOSink/close_A01_t02: RuntimeError
-LibTest/io/IOSink/close_A02_t01: RuntimeError
-LibTest/io/IOSink/flush_A01_t01: RuntimeError
-LibTest/io/IOSink/flush_A02_t01: RuntimeError
-LibTest/io/IOSink/writeAll_A01_t01: RuntimeError
-LibTest/io/IOSink/writeAll_A01_t02: RuntimeError
-LibTest/io/IOSink/writeAll_A01_t03: RuntimeError
-LibTest/io/IOSink/writeAll_A01_t04: RuntimeError
-LibTest/io/IOSink/writeAll_A02_t01: RuntimeError
-LibTest/io/IOSink/writeAll_A02_t02: RuntimeError
-LibTest/io/IOSink/writeAll_A02_t03: RuntimeError
-LibTest/io/IOSink/writeAll_A02_t04: RuntimeError
-LibTest/io/IOSink/writeAll_A02_t05: RuntimeError
-LibTest/io/IOSink/writeCharCode_A01_t01: RuntimeError
-LibTest/io/IOSink/writeCharCode_A01_t02: RuntimeError
-LibTest/io/IOSink/writeCharCode_A01_t03: RuntimeError
-LibTest/io/IOSink/write_A01_t01: RuntimeError
-LibTest/io/IOSink/write_A01_t02: RuntimeError
-LibTest/io/IOSink/write_A01_t03: RuntimeError
-LibTest/io/IOSink/write_A01_t04: RuntimeError
-LibTest/io/IOSink/write_A01_t05: RuntimeError
-LibTest/io/IOSink/write_A01_t06: RuntimeError
-LibTest/io/IOSink/write_A01_t07: RuntimeError
-LibTest/io/IOSink/writeln_A01_t01: RuntimeError
-LibTest/io/IOSink/writeln_A01_t02: RuntimeError
-LibTest/io/InternetAddress/reverse_A01_t01: RuntimeError
-LibTest/io/Link/renameSync_A02_t03: RuntimeError
-LibTest/io/Link/rename_A02_t03: RuntimeError
-LibTest/io/Link/statSync_A01_t01: RuntimeError
-LibTest/io/Link/watch_A01_t01: RuntimeError
-LibTest/io/Process/run_A01_t02: RuntimeError
-LibTest/io/Process/stderr_A01_t01: RuntimeError
-LibTest/io/Process/stdin_A01_t01: RuntimeError
-LibTest/io/Process/stdout_A01_t01: RuntimeError
-LibTest/io/ProcessResult/pid_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/any_A01_t01: RuntimeError, Pass
-LibTest/io/RawDatagramSocket/any_A01_t05: Timeout
-LibTest/io/RawDatagramSocket/any_A01_t06: Timeout
-LibTest/io/RawDatagramSocket/any_A01_t07: Timeout
-LibTest/io/RawDatagramSocket/any_A01_t08: Timeout
-LibTest/io/RawDatagramSocket/asBroadcastStream_A03_t01: Timeout, Pass
-LibTest/io/RawDatagramSocket/join_A02_t01: RuntimeError
-LibTest/io/RawDatagramSocket/multicastInterface_A01_t01: RuntimeError
-LibTest/io/RawDatagramSocket/skipWhile_A04_t01: RuntimeError, Pass
-LibTest/io/Stdin/echoMode_A01_t01: RuntimeError
-LibTest/io/Stdin/echoMode_A01_t02: RuntimeError
-LibTest/io/Stdin/lineMode_A01_t01: RuntimeError
-LibTest/io/Stdin/lineMode_A01_t02: RuntimeError
-LibTest/io/SystemEncoding/name_A01_t01: RuntimeError
-LibTest/io/WebSocket/isEmpty_A01_t01: RuntimeError
-LibTest/io/WebSocketTransformer/bind_A01_t01: RuntimeError
-LibTest/io/ZLibDecoder/fuse_A01_t01: RuntimeError
-LibTest/io/ZLibEncoder/fuse_A01_t01: RuntimeError
-LibTest/isolate/Isolate/addOnExitListener_A04_t01: RuntimeError
-LibTest/isolate/Isolate/kill_A01_t01: Timeout, Pass
-LibTest/isolate/Isolate/ping_A01_t01: Timeout, Pass
-LibTest/isolate/Isolate/ping_A04_t01: RuntimeError
-LibTest/isolate/Isolate/spawnUri_A05_t04: RuntimeError, Pass
-LibTest/isolate/Isolate/spawn_A04_t04: RuntimeError, Pass
-LibTest/isolate/ReceivePort/lastWhere_A01_t01: RuntimeError
-LibTest/isolate/ReceivePort/transform_A01_t02: RuntimeError
+Language/Libraries_and_Scripts/Scripts/top_level_main_t01: Crash
 LibTest/isolate/SendPort/send_A01_t02: Crash
 LibTest/isolate/SendPort/send_A01_t03: Crash
-LibTest/math/MutableRectangle/MutableRectangle_A03_t04: RuntimeError
-LibTest/math/MutableRectangle/height_A03_t02: RuntimeError
-LibTest/math/MutableRectangle/width_A03_t02: RuntimeError
-LibTest/math/Rectangle/Rectangle_A03_t04: RuntimeError
-Utils/tests/Expect/throws_A01_t04: RuntimeError
 
 # It makes no sense to run any test that uses spawnURI under the simulator
 # as that would involve running CFE (the front end) in simulator mode
diff --git a/tests/co19_2/update.sh b/tests/co19_2/update.sh
new file mode 100755
index 0000000..2003de1
--- /dev/null
+++ b/tests/co19_2/update.sh
@@ -0,0 +1,71 @@
+#!/usr/bin/env bash
+# Uploads a new version of the co19 CIPD packages.
+# This script requires access to the dart-build-access group, which EngProd has.
+
+set -e
+set -x
+
+if [ ! -e tests/co19_2 ]; then
+  echo "$0: error: Run this script at the root of the Dart SDK" >&2
+  exit 1
+fi
+
+# Find the latest co19 commit.
+rm -rf tests/co19_2/src.git
+git clone https://dart.googlesource.com/co19 tests/co19_2/src.git
+CO19=tests/co19_2/src.git
+OLD=$(gclient getdep --var=co19_2_rev)
+NEW=$(cd $CO19 && git fetch origin && git rev-parse origin/master)
+
+git fetch origin
+git branch cl-co19-roll-co19-to-$NEW origin/master
+git checkout cl-co19-roll-co19-to-$NEW
+
+# Build a cipd package of the commit.
+BUILD_ID=$(bb add \
+              -commit https://dart.googlesource.com/co19/+/$NEW \
+              -json \
+              dart/ci/co19-roller \
+             | jq '.id' \
+             | tr -d '"')
+bb collect -interval 10s $BUILD_ID
+
+# Update DEPS:
+gclient setdep --var=co19_2_rev=$NEW
+
+# Make a nice commit. Don't include the '#' character to avoid referencing Dart
+# SDK issues.
+git commit DEPS -m \
+  "$(printf "[co19] Roll co19 to $NEW\n\n" &&
+     cd $CO19 &&
+     git log --date='format:%Y-%m-%d' --pretty='format:%ad %ae %s' \
+       $OLD..$NEW | tr -d '#')"
+
+rm -rf tests/co19_2/src.git
+
+GIT_EDITOR=true git cl upload
+ISSUE=$(git config --get branch.cl-co19-roll-co19-to-$NEW.gerritissue)
+
+BUILDERS=$(jq '.builder_configurations|
+                map(select(.steps|
+                           any(.arguments|
+                               select(.!=null)|
+                               any(.=="co19_2"))))|
+                map(.builders)|
+                flatten|
+                sort' \
+                tools/bots/test_matrix.json \
+             | tr -d '[",]')
+
+git cl try -B luci.dart.try $(for BUILDER in $BUILDERS; do echo -b $BUILDER-try; done)
+
+git cl web
+
+set +x
+cat << EOF
+
+Wait for the builders to finish. If any failed, pre-approve them:
+
+  tools/sdks/dart-sdk/bin/dart tools/approve_results.dart \
+    -p https://dart-review.googlesource.com/c/sdk/+/$ISSUE
+EOF
diff --git a/tests/compiler/dart2js/equivalence/check_helpers.dart b/tests/compiler/dart2js/equivalence/check_helpers.dart
index 2465a58..dd61237 100644
--- a/tests/compiler/dart2js/equivalence/check_helpers.dart
+++ b/tests/compiler/dart2js/equivalence/check_helpers.dart
@@ -446,6 +446,11 @@
   }
 
   @override
+  visitAnyType(AnyType type, _) {
+    sb.write('any');
+  }
+
+  @override
   visitTypedefType(TypedefType type, _) {
     sb.write(type.element.name);
     if (type.typeArguments.any((type) => !type.isDynamic)) {
diff --git a/tests/compiler/dart2js/model/cfe_constant_test.dart b/tests/compiler/dart2js/model/cfe_constant_test.dart
index 1818979..d62662b 100644
--- a/tests/compiler/dart2js/model/cfe_constant_test.dart
+++ b/tests/compiler/dart2js/model/cfe_constant_test.dart
@@ -57,6 +57,15 @@
   }
 
   @override
+  bool get supportsErrors => true;
+
+  @override
+  String computeErrorData(
+      Compiler compiler, Id id, List<CollectedMessage> errors) {
+    return errors.map((c) => c.message.message).join(',');
+  }
+
+  @override
   bool get testFrontend => true;
 
   @override
diff --git a/tests/compiler/dart2js/rti/disable_rti_test.dart b/tests/compiler/dart2js/rti/disable_rti_test.dart
index 9c55ff6..5520753 100644
--- a/tests/compiler/dart2js/rti/disable_rti_test.dart
+++ b/tests/compiler/dart2js/rti/disable_rti_test.dart
@@ -97,7 +97,8 @@
     }
 
     void processClass(ClassEntity element) {
-      Expect.isTrue(closedWorld.rtiNeed.classNeedsTypeArguments(element));
+      Expect.equals(elementEnvironment.isGenericClass(element),
+          closedWorld.rtiNeed.classNeedsTypeArguments(element));
       elementEnvironment.forEachConstructor(element, processMember);
       elementEnvironment.forEachLocalClassMember(element, processMember);
 
diff --git a/tests/compiler/dart2js_extra/cfe_instance_constant_test.dart b/tests/compiler/dart2js_extra/cfe_instance_constant_test.dart
index 6fbd051..0c202c1 100644
--- a/tests/compiler/dart2js_extra/cfe_instance_constant_test.dart
+++ b/tests/compiler/dart2js_extra/cfe_instance_constant_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// dart2jsOptions=--enable-experiment=constant-update-2018
-
 // Regression test for CFE constant evaluation. The evaluation of [Class9.field]
 // assumed that its initializer did not hold an unevaluated constant.
 
diff --git a/tests/compiler/dart2js_extra/constant_folding_test.dart b/tests/compiler/dart2js_extra/constant_folding_test.dart
index 393994a..af4b614 100644
--- a/tests/compiler/dart2js_extra/constant_folding_test.dart
+++ b/tests/compiler/dart2js_extra/constant_folding_test.dart
@@ -4,8 +4,6 @@
 
 import "package:expect/expect.dart";
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 void main() {
   const BitNot(42, 4294967253).check();
   const BitNot(4294967253, 42).check();
diff --git a/tests/compiler/dart2js_extra/unused_local_const_test.dart b/tests/compiler/dart2js_extra/unused_local_const_test.dart
index acd2076..5829129 100644
--- a/tests/compiler/dart2js_extra/unused_local_const_test.dart
+++ b/tests/compiler/dart2js_extra/unused_local_const_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// dart2jsOptions=--enable-experiment=constant-update-2018
-
 class A {
   const A();
 
diff --git a/tests/corelib_2/corelib_2.status b/tests/corelib_2/corelib_2.status
index 6c280d1..4d9dd1d 100644
--- a/tests/corelib_2/corelib_2.status
+++ b/tests/corelib_2/corelib_2.status
@@ -2,16 +2,7 @@
 # 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.
 
-[ $compiler == app_jitk ]
-symbol_operator_test/03: RuntimeError
-symbol_reserved_word_test/06: RuntimeError
-symbol_reserved_word_test/09: RuntimeError
-symbol_reserved_word_test/12: RuntimeError
-symbol_test/none: RuntimeError
-unicode_test: RuntimeError
-
 [ $compiler == dart2analyzer ]
-iterable_element_at_test/static: Pass
 num_sign_test: Crash, Pass # Issue 31768
 
 [ $compiler == dart2js ]
@@ -29,33 +20,16 @@
 int_parse_radix_int64_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 int_parse_radix_int64_test/02: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 int_parse_radix_int64_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
-int_parse_radix_test/01: RuntimeError
 integer_arith_vm_test/modPow: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 integer_arith_vm_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
-integer_to_radix_string_test/01: RuntimeError
-integer_to_radix_string_test/02: RuntimeError
-integer_to_radix_string_test/none: RuntimeError
-integer_to_string_test/01: RuntimeError
 integer_to_string_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
 list_unmodifiable_test: Pass, RuntimeError # Issue 28712
 
-[ $compiler != dartdevc ]
-error_stack_trace_test/static: MissingCompileTimeError
-
 [ $compiler == dartdevk ]
-bool_from_environment2_test/03: MissingCompileTimeError
-int_modulo_arith_test/modPow: RuntimeError
-int_modulo_arith_test/none: RuntimeError
 regexp/lookbehind_test/01: Skip # Flaky in uncatchable way.  Issue 36280
-string_from_environment3_test/03: MissingCompileTimeError
-
-[ $compiler == fasta ]
-bool_from_environment2_test/03: MissingCompileTimeError
-string_from_environment3_test/03: MissingCompileTimeError
 
 [ $compiler == none ]
-int_parse_radix_bad_handler_test: MissingCompileTimeError
 symbol_operator_test/03: Fail # Issue 11669
 symbol_reserved_word_test/02: CompileTimeError # Issue 20191
 symbol_reserved_word_test/04: MissingCompileTimeError # Issue 11669, 19972, With the exception of 'void', const Symbol() should not accept reserved words.
@@ -75,7 +49,6 @@
 
 [ $runtime == jsshell ]
 string_case_test/01: Fail, OK # German double S.
-unicode_test: Fail
 
 [ $runtime != none ]
 nsm_invocation_generic_test: RuntimeError # Not implemented yet. Issue 27323.
@@ -85,13 +58,9 @@
 double_round_to_double2_test: Fail, OK # Runtime rounds 0.49999999999999994 to 1.
 string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.
 
-[ $fasta ]
-symbol_reserved_word_test/04: MissingCompileTimeError
-symbol_reserved_word_test/07: MissingCompileTimeError
-
 [ $arch == simarmv5te && ($runtime == dart_precompiled || $runtime == vm) ]
-int_parse_radix_test/*: Pass, Slow
-integer_parsed_mul_div_vm_test: Pass, Slow
+int_parse_radix_test/*: Slow
+integer_parsed_mul_div_vm_test: Slow
 
 [ $arch == x64 && $system == windows ]
 stopwatch_test: Skip # Flaky test due to expected performance behaviour.
@@ -106,19 +75,6 @@
 error_stack_trace1_test: SkipByDesign # Expects unobfuscated stack trace
 type_tostring_test: SkipByDesign # Expects names in Type.toString()
 
-# All static_tests have expected compile-time errors.
-[ $compiler != app_jitk && $compiler != dart2analyzer && $compiler != dart2js && $compiler != dartdevc && $compiler != dartdevk && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $compiler != fasta ]
-core_runtime_types_static_test: MissingCompileTimeError
-iterable_mapping_test/01: MissingCompileTimeError
-splay_tree_test/01: MissingCompileTimeError
-splay_tree_test/02: MissingCompileTimeError
-string_base_vm_static_test: MissingCompileTimeError
-string_replace_static_test: MissingCompileTimeError
-string_static_test: MissingCompileTimeError
-
-[ $compiler != app_jitk && $compiler != dart2js && $compiler != dartdevc && $compiler != dartdevk && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $compiler != fasta ]
-iterable_element_at_test/static: MissingCompileTimeError
-
 [ $compiler != app_jitk && $compiler != dart2js && $compiler != dartdevc && $compiler != dartdevk && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $runtime != none ]
 map_keys2_test: RuntimeError # needs Dart 2 is checks
 
@@ -135,37 +91,11 @@
 [ $compiler == dart2js && $runtime != none ]
 regexp/pcre_test: Pass, Slow # Issue 21593
 
-[ $compiler == dart2js && $runtime == safari ]
-regexp/lookahead_test: RuntimeError
-regexp/no-extensions_test: RuntimeError
-regexp/no-extensions_test: Pass, RuntimeError
-regexp/overflow_test: RuntimeError
-
 [ $compiler == dart2js && !$browser ]
 package_resource_test: RuntimeError # Issue 26842
 
 [ $compiler == dart2js && $checked ]
-apply3_test: RuntimeError
-collection_of_test: RuntimeError
 error_stack_trace1_test: RuntimeError # Issue 12399
-from_environment_const_type_test/02: MissingCompileTimeError
-from_environment_const_type_test/03: MissingCompileTimeError
-from_environment_const_type_test/04: MissingCompileTimeError
-from_environment_const_type_test/06: MissingCompileTimeError
-from_environment_const_type_test/07: MissingCompileTimeError
-from_environment_const_type_test/08: MissingCompileTimeError
-from_environment_const_type_test/09: MissingCompileTimeError
-from_environment_const_type_test/11: MissingCompileTimeError
-from_environment_const_type_test/12: MissingCompileTimeError
-from_environment_const_type_test/13: MissingCompileTimeError
-from_environment_const_type_test/14: MissingCompileTimeError
-from_environment_const_type_test/16: MissingCompileTimeError
-from_environment_const_type_undefined_test/02: MissingCompileTimeError
-from_environment_const_type_undefined_test/03: MissingCompileTimeError
-from_environment_const_type_undefined_test/04: MissingCompileTimeError
-from_environment_const_type_undefined_test/06: MissingCompileTimeError
-from_environment_const_type_undefined_test/07: MissingCompileTimeError
-from_environment_const_type_undefined_test/08: MissingCompileTimeError
 iterable_return_type_test/01: RuntimeError # Issue 20085
 iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
 iterable_to_list_test/01: Crash # Wrong number of template arguments, given 2, expected 1
@@ -177,41 +107,19 @@
 symbol_reserved_word_test/03: RuntimeError # Issue 19972, new Symbol('void') should be allowed.
 
 [ $compiler == dart2js && $minified ]
-dynamic_nosuchmethod_test: RuntimeError
 error_stack_trace1_test: RuntimeError # Issue 12399
 hash_set_test/01: Crash # Assertion failure: Cannot find value Instance of 'ThisLocal' in (local(_CustomHashSet.#x), local(_CustomHashSet.#)) for j:closure_call(_CustomHashSet__CustomHashSet_closure.call).
-integer_to_radix_string_test/01: RuntimeError
-integer_to_radix_string_test/02: RuntimeError
-integer_to_radix_string_test/none: RuntimeError
-integer_to_string_test/01: RuntimeError
 iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
 list_concurrent_modify_test: RuntimeError # dart2js does not fully implement these
-list_unmodifiable_test: RuntimeError
-main_test: RuntimeError
-nan_infinity_test/01: RuntimeError
 nsm_invocation_test: RuntimeError # Symbols don't match due to minifiaction.
-regexp/pcre_test: RuntimeError
-symbol_operator_test/03: RuntimeError
-symbol_operator_test/none: RuntimeError
 symbol_reserved_word_test/03: RuntimeError # Issue 19972, new Symbol('void') should be allowed.
 
 [ $compiler == dartdevc && $runtime != none ]
 compare_to2_test: CompileTimeError # invalid test
 symbol_operator_test: RuntimeError # Issue 29921
 
-[ $compiler != dartk && $runtime == vm && $checked ]
-apply_test/01: RuntimeError
-
-[ $compiler != dartkb && $compiler != dartkp && $fasta ]
-symbol_reserved_word_test/10: MissingCompileTimeError
-symbol_test/02: MissingCompileTimeError
-symbol_test/03: MissingCompileTimeError
-
 [ $compiler == dartkp && $runtime == dart_precompiled ]
-iterable_fold_test/02: RuntimeError
 iterable_reduce_test/01: CompileTimeError # Issue 31533
-iterable_reduce_test/none: RuntimeError
-regexp/stack-overflow_test: RuntimeError
 symbol_operator_test/03: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
 symbol_reserved_word_test/06: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
 symbol_reserved_word_test/09: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
@@ -220,14 +128,7 @@
 unicode_test: RuntimeError # Issue 18061: German double S.
 
 [ $compiler == none && $runtime == vm ]
-from_environment_const_type_undefined_test/09: MissingCompileTimeError
-from_environment_const_type_undefined_test/11: MissingCompileTimeError
-from_environment_const_type_undefined_test/12: MissingCompileTimeError
-from_environment_const_type_undefined_test/13: MissingCompileTimeError
-from_environment_const_type_undefined_test/14: MissingCompileTimeError
-from_environment_const_type_undefined_test/16: MissingCompileTimeError
 iterable_to_set_test: RuntimeError # is-checks do not implement strong mode type system
-string_base_vm_static_test: MissingCompileTimeError
 
 # We no longer expect Dart2 tests to run with the standalone VM without the new
 # common front end, but for now we get better coverage by still running them in
@@ -235,9 +136,6 @@
 [ $compiler == none && !$checked && ($runtime == dart_precompiled || $runtime == vm) ]
 *: SkipByDesign
 
-[ $mode == release && $hot_reload && ($compiler == dartk || $compiler == dartkb) ]
-bigint_parse_radix_test: Crash
-
 [ $runtime != none && ($compiler == dart2js || $compiler == dartdevc || $compiler == dartdevk) ]
 bit_twiddling_test/int64: RuntimeError, OK # Requires fixed-size int64 support.
 compare_to2_test: RuntimeError, OK # Requires fixed-size int64 support.
@@ -257,9 +155,7 @@
 
 # ===== dartk + vm status lines =====
 [ $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
-iterable_fold_test/02: RuntimeError
 iterable_reduce_test/01: CompileTimeError # Issue 31533
-iterable_reduce_test/none: RuntimeError
 symbol_operator_test/03: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
 symbol_reserved_word_test/06: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
 symbol_reserved_word_test/09: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
@@ -298,7 +194,6 @@
 int_from_environment_int64_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 int_modulo_arith_test/none: RuntimeError # Issue 29921
 int_parse_radix_int64_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
-int_parse_radix_int64_test/02: RuntimeError
 int_parse_radix_int64_test/02: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 int_parse_radix_int64_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
 int_parse_radix_test/01: RuntimeError # Issue 29921
@@ -362,8 +257,8 @@
 symbol_reserved_word_test/12: RuntimeError # Issue 29921
 symbol_test/none: RuntimeError # Issue 29921
 typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.
-uri_parse_test: Pass, Slow
-uri_test: Pass, Slow
+uri_parse_test: Slow
+uri_test: Slow
 
 [ $compiler == dartkb || $compiler == dartkp ]
 bigint_parse_radix_test: Pass, Slow # --no_intrinsify
@@ -372,13 +267,12 @@
 
 [ $runtime == dart_precompiled || $runtime == vm ]
 regexp/global_test: Skip # Issue 21709
-regexp/pcre_test: Pass, Slow, Timeout
+regexp/pcre_test: Slow
 string_case_test/01: RuntimeError # Issue 18061: German double S.
 
 [ $runtime == ff || $runtime == jsshell ]
 double_parse_test: Fail, OK # Issue 30468
 double_try_parse_test: Fail, OK # Issue 30468
-regexp/UC16_test: RuntimeError
 
 [ $hot_reload || $hot_reload_rollback ]
 bigint_parse_radix_test: Skip # Issue 31659. Issue 34361.
diff --git a/tests/ffi/analysis_options.yaml b/tests/ffi/analysis_options.yaml
new file mode 100644
index 0000000..f8701d7
--- /dev/null
+++ b/tests/ffi/analysis_options.yaml
@@ -0,0 +1,3 @@
+analyzer:
+  exclude:
+    # Do analyze this subfolder in the tests/ even if tests/ is fully excluded.
diff --git a/tests/ffi/ffi.status b/tests/ffi/ffi.status
index 76f5ff2..7652349 100644
--- a/tests/ffi/ffi.status
+++ b/tests/ffi/ffi.status
@@ -7,6 +7,7 @@
 
 [ $arch == simdbc64 ]
 function_callbacks_test: Skip # Issue 37140
+regress_37511_callbacks_test: Skip # Issue 37140
 
 [ $builder_tag == asan ]
 data_not_asan_test: SkipByDesign # This test tries to allocate too much memory on purpose.
@@ -20,6 +21,7 @@
 
 [ $runtime == dart_precompiled ]
 function_callbacks_test: Skip  # Issue dartbug.com/37295
+regress_37511_callbacks_test: Skip  # Issue dartbug.com/37295
 
 [ $arch == arm && $system != android ]
 *: Skip # "hardfp" calling convention is not yet supported (iOS is also supported but not tested): dartbug.com/36309
diff --git a/tests/ffi/ffi_test_helpers.dart b/tests/ffi/ffi_test_helpers.dart
index 5d14d4a..84d3185 100644
--- a/tests/ffi/ffi_test_helpers.dart
+++ b/tests/ffi/ffi_test_helpers.dart
@@ -5,12 +5,20 @@
 // Helpers for tests which trigger GC in delicate places.
 
 import 'dart:ffi' as ffi;
+
 import 'dylib_utils.dart';
 
 typedef NativeNullaryOp = ffi.Void Function();
 typedef NullaryOpVoid = void Function();
 
+typedef NativeUnaryOp = ffi.Void Function(ffi.IntPtr);
+typedef UnaryOpVoid = void Function(int);
+
 final ffi.DynamicLibrary ffiTestFunctions =
     dlopenPlatformSpecific("ffi_test_functions");
+
 final triggerGc = ffiTestFunctions
     .lookupFunction<NativeNullaryOp, NullaryOpVoid>("TriggerGC");
+
+final collectOnNthAllocation = ffiTestFunctions
+    .lookupFunction<NativeUnaryOp, UnaryOpVoid>("CollectOnNthAllocation");
diff --git a/tests/ffi/function_callbacks_test.dart b/tests/ffi/function_callbacks_test.dart
index 1b25dc1..4377938 100644
--- a/tests/ffi/function_callbacks_test.dart
+++ b/tests/ffi/function_callbacks_test.dart
@@ -5,6 +5,7 @@
 // Dart test program for testing dart:ffi function pointers with callbacks.
 //
 // VMOptions=--enable-testing-pragmas
+// VMOptions=--enable-testing-pragmas --write-protect-code --no-dual-map-code
 // SharedObjects=ffi_test_functions
 
 library FfiTest;
@@ -172,6 +173,12 @@
   triggerGc();
 }
 
+typedef WaitForHelper = Void Function(Pointer<Void>);
+void waitForHelper(Pointer<Void> helper) {
+  print("helper: $helper");
+  testLibrary.lookupFunction<WaitForHelper, WaitForHelper>("WaitForHelper")(helper);
+}
+
 final List<Test> testcases = [
   Test("SimpleAddition", Pointer.fromFunction<SimpleAdditionType>(simpleAddition, 0)),
   Test("IntComputation", Pointer.fromFunction<IntComputationType>(intComputation, 0)),
@@ -195,6 +202,7 @@
           throwExceptionPointer, Pointer<Void>.fromAddress(42))),
   Test("ThrowException", Pointer.fromFunction<ThrowExceptionInt>(throwExceptionInt, 42)),
   Test("GC", Pointer.fromFunction<ReturnVoid>(testGC, null)),
+  Test("UnprotectCode", Pointer.fromFunction<WaitForHelper>(waitForHelper, null)),
 ];
 
 testCallbackWrongThread() =>
@@ -244,4 +252,20 @@
     testCallbackOutsideIsolate(); //# 02: ok
     await testCallbackWrongIsolate(); //# 03: ok
   }
+
+  testManyCallbacks();  //# 04: ok
 }
+
+void testManyCallbacks() {
+  // Create enough callbacks (1000) to overflow one page of the JIT callback
+  // trampolines. The use of distinct exceptional return values forces separate
+  // trampolines.
+  final List<Pointer> pointers = [];
+  for (int i = 0; i < 1000; ++i) {
+    pointers.add(Pointer.fromFunction<SimpleAdditionType>(simpleAddition, i));
+  }
+
+  for (final pointer in pointers) {
+    Test("SimpleAddition", pointer).run();
+  }
+}
\ No newline at end of file
diff --git a/tests/ffi/function_gc_test.dart b/tests/ffi/function_gc_test.dart
index 00724a3..b212b32 100644
--- a/tests/ffi/function_gc_test.dart
+++ b/tests/ffi/function_gc_test.dart
@@ -111,12 +111,12 @@
 }
 
 final unprotectCode = ffiTestFunctions.lookupFunction<
-    ffi.Pointer<ffi.Void> Function(),
-    ffi.Pointer<ffi.Void> Function()>("UnprotectCode");
+    ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>),
+    ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>("TestUnprotectCode");
 final waitForHelper = ffiTestFunctions.lookupFunction<
     ffi.Void Function(ffi.Pointer<ffi.Void>),
     void Function(ffi.Pointer<ffi.Void>)>("WaitForHelper");
 
 void testWriteProtection() {
-  waitForHelper(unprotectCode());
+  waitForHelper(unprotectCode(ffi.nullptr));
 }
diff --git a/tests/ffi/gc_helpers.dart b/tests/ffi/gc_helpers.dart
deleted file mode 100644
index 5d14d4a..0000000
--- a/tests/ffi/gc_helpers.dart
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-// 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.
-//
-// Helpers for tests which trigger GC in delicate places.
-
-import 'dart:ffi' as ffi;
-import 'dylib_utils.dart';
-
-typedef NativeNullaryOp = ffi.Void Function();
-typedef NullaryOpVoid = void Function();
-
-final ffi.DynamicLibrary ffiTestFunctions =
-    dlopenPlatformSpecific("ffi_test_functions");
-final triggerGc = ffiTestFunctions
-    .lookupFunction<NativeNullaryOp, NullaryOpVoid>("TriggerGC");
diff --git a/tests/ffi/regress_37511_callbacks_test.dart b/tests/ffi/regress_37511_callbacks_test.dart
new file mode 100644
index 0000000..37407ee
--- /dev/null
+++ b/tests/ffi/regress_37511_callbacks_test.dart
@@ -0,0 +1,54 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+//
+// Dart test program for testing dart:ffi struct pointers.
+//
+// VMOptions=--deterministic --enable-testing-pragmas
+//
+// SharedObjects=ffi_test_functions
+//
+// TODO(37295): Merge this file with regress_37511_test.dart when callback
+// support lands.
+
+library FfiTest;
+
+import 'dart:ffi';
+
+import 'ffi_test_helpers.dart';
+
+/// Estimate of how many allocations functions in `functionsToTest` do at most.
+const gcAfterNAllocationsMax = 10;
+
+void main() {
+  for (Function() f in functionsToTest) {
+    f(); // Ensure code is compiled.
+
+    for (int n = 1; n <= gcAfterNAllocationsMax; n++) {
+      collectOnNthAllocation(n);
+      f();
+    }
+  }
+}
+
+final List<Function()> functionsToTest = [
+  // Callback trampolines.
+  doFromFunction,
+  () => callbackSmallDouble(dartFunctionPointer),
+];
+
+// Callback trampoline helpers.
+typedef NativeCallbackTest = Int32 Function(Pointer);
+typedef NativeCallbackTestFn = int Function(Pointer);
+
+final callbackSmallDouble =
+    ffiTestFunctions.lookupFunction<NativeCallbackTest, NativeCallbackTestFn>(
+        "TestSimpleMultiply");
+
+typedef SimpleMultiplyType = Double Function(Double);
+double simpleMultiply(double x) => x * 1.337;
+
+final doFromFunction =
+    () => Pointer.fromFunction<SimpleMultiplyType>(simpleMultiply, 0.0);
+
+final dartFunctionPointer = doFromFunction();
diff --git a/tests/ffi/regress_37511_test.dart b/tests/ffi/regress_37511_test.dart
new file mode 100644
index 0000000..03403e4
--- /dev/null
+++ b/tests/ffi/regress_37511_test.dart
@@ -0,0 +1,108 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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.
+//
+// Dart test program for testing dart:ffi struct pointers.
+//
+// VMOptions=--deterministic --enable-testing-pragmas
+//
+// SharedObjects=ffi_test_functions
+
+library FfiTest;
+
+import 'dart:ffi';
+
+import 'dylib_utils.dart';
+import 'ffi_test_helpers.dart';
+
+/// Estimate of how many allocations functions in `functionsToTest` do at most.
+const gcAfterNAllocationsMax = 10;
+
+void main() {
+  for (Function() f in functionsToTest) {
+    f(); // Ensure code is compiled.
+
+    for (int n = 1; n <= gcAfterNAllocationsMax; n++) {
+      collectOnNthAllocation(n);
+      f();
+    }
+  }
+}
+
+final List<Function()> functionsToTest = [
+  // Pointer operations.
+  () => highAddressPointer.cast<Double>(),
+  () => Pointer.fromAddress(highAddressPointer.address),
+  () => highAddressPointer.address,
+  () => highAddressPointer.elementAt(1),
+  () => highAddressPointer.offsetBy(1),
+  () => highAddressPointer.asExternalTypedData(),
+
+  // DynamicLibrary operations.
+  doDlopen,
+  doDlsym, // Includes `asFunction`.
+  () => ffiTestFunctions.handle,
+
+  // Trampolines.
+  () => sumManyIntsOdd(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, mint64bit),
+  () => sumManyDoubles(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0),
+  minInt64,
+  minInt32,
+  smallDouble,
+  largePointer,
+
+  // Callback trampolines.
+  //
+  // In regress_37511_callbacks_test.dart because callbacks are not supported
+  // in AOT yet.
+];
+
+// Pointer operation helpers.
+const mint32bit = 0xFFFFFFF0;
+const mint64bit = 0x7FFFFFFFFFFFFFF0;
+
+final int highAddress = sizeOf<IntPtr>() == 4 ? mint32bit : mint64bit;
+
+final Pointer<Int64> highAddressPointer = Pointer.fromAddress(highAddress);
+
+// Dynamic library operation helpers.
+final doDlopen = () => dlopenPlatformSpecific("ffi_test_functions");
+
+final doDlsym = () => ffiTestFunctions
+    .lookupFunction<NativeNullaryOp, NullaryOpVoid>("TriggerGC");
+
+// Trampoline helpers.
+typedef NativeUndenaryOp = IntPtr Function(IntPtr, IntPtr, IntPtr, IntPtr,
+    IntPtr, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr);
+typedef UndenaryOp = int Function(
+    int, int, int, int, int, int, int, int, int, int, int);
+
+final UndenaryOp sumManyIntsOdd = ffiTestFunctions
+    .lookupFunction<NativeUndenaryOp, UndenaryOp>("SumManyIntsOdd");
+
+typedef NativeDoubleDecenaryOp = Double Function(Double, Double, Double, Double,
+    Double, Double, Double, Double, Double, Double);
+typedef DoubleDecenaryOp = double Function(double, double, double, double,
+    double, double, double, double, double, double);
+
+final DoubleDecenaryOp sumManyDoubles = ffiTestFunctions
+    .lookupFunction<NativeDoubleDecenaryOp, DoubleDecenaryOp>("SumManyDoubles");
+
+typedef NativeNullaryOp64 = Int64 Function();
+typedef NativeNullaryOp32 = Int32 Function();
+typedef NativeNullaryOpDouble = Double Function();
+typedef NullaryOpPtr = Pointer<Void> Function();
+typedef NullaryOp = int Function();
+typedef NullaryOpDbl = double Function();
+
+final minInt64 =
+    ffiTestFunctions.lookupFunction<NativeNullaryOp64, NullaryOp>("MinInt64");
+
+final minInt32 =
+    ffiTestFunctions.lookupFunction<NativeNullaryOp32, NullaryOp>("MinInt32");
+
+final smallDouble = ffiTestFunctions
+    .lookupFunction<NativeNullaryOpDouble, NullaryOpDbl>("SmallDouble");
+
+final largePointer =
+    ffiTestFunctions.lookupFunction<NullaryOpPtr, NullaryOpPtr>("LargePointer");
diff --git a/tests/kernel/kernel.status b/tests/kernel/kernel.status
index a75323a..53968e2 100644
--- a/tests/kernel/kernel.status
+++ b/tests/kernel/kernel.status
@@ -3,10 +3,8 @@
 # BSD-style license that can be found in the LICENSE file.
 
 [ $compiler == dart2js ]
-unsorted/invocation_errors_test: Pass
 unsorted/nsm_dispatcher_test: Skip # The test uses Symbol without MirrorsUsed
 unsorted/simple_literal_test/01: Skip # The test expects error for large integer literal.
-unsorted/try_finally_test: Crash
 
 [ !$fasta ]
 unsorted/loop_test: Skip # This test uses optional new/const.
@@ -14,14 +12,5 @@
 [ $builder_tag == obfuscated && $runtime == dart_precompiled ]
 unsorted/symbol_literal_test: RuntimeError # Issue 34911
 
-[ $compiler != app_jitk && $compiler != dart2js && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $runtime != none ]
-unsorted/types_test: RuntimeError
-
-[ $compiler == dart2analyzer && $runtime == none ]
-unsorted/super_mixin_test: CompileTimeError
-
-[ $compiler == dart2js && $host_checked ]
-unsorted/super_mixin_test: Crash
-
 [ !$preview_dart_2 && ($runtime == dart_precompiled || $runtime == vm) ]
 *: SkipByDesign # Deprecating all Dart1 modes of execution
diff --git a/tests/language_2/abstract_equal_test.dart b/tests/language_2/abstract_equal_test.dart
index 2ff5b59..bcfb3e8 100644
--- a/tests/language_2/abstract_equal_test.dart
+++ b/tests/language_2/abstract_equal_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 class A {
   bool operator ==(other);
   const A();
diff --git a/tests/language_2/const_double_in_int_op_test.dart b/tests/language_2/const_double_in_int_op_test.dart
index d9432f1..ed12305 100644
--- a/tests/language_2/const_double_in_int_op_test.dart
+++ b/tests/language_2/const_double_in_int_op_test.dart
@@ -2,7 +2,7 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018,triple-shift
+// SharedOptions=--enable-experiment=triple-shift
 
 main() {
   const dynamic i1 = 3;
diff --git a/tests/language_2/constants_2018/const_type_test.dart b/tests/language_2/constants_2018/const_type_test.dart
index 14a9bf9..c6c3f33 100644
--- a/tests/language_2/constants_2018/const_type_test.dart
+++ b/tests/language_2/constants_2018/const_type_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that types do matter when an expression is evaluated as constant.
 
 main() {
diff --git a/tests/language_2/constants_2018/constant_type_literal_test.dart b/tests/language_2/constants_2018/constant_type_literal_test.dart
index a644ff0..b886d77 100644
--- a/tests/language_2/constants_2018/constant_type_literal_test.dart
+++ b/tests/language_2/constants_2018/constant_type_literal_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that non-deferred type literals are constant expressions.
 
 import "dart:core";
diff --git a/tests/language_2/constants_2018/constant_types_test.dart b/tests/language_2/constants_2018/constant_types_test.dart
index 5262729..5defae9 100644
--- a/tests/language_2/constants_2018/constant_types_test.dart
+++ b/tests/language_2/constants_2018/constant_types_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that only constant types are allowed in some positions,
 // not type parameters.
 
diff --git a/tests/language_2/constants_2018/equals_test.dart b/tests/language_2/constants_2018/equals_test.dart
index fbbc876..5c74e69 100644
--- a/tests/language_2/constants_2018/equals_test.dart
+++ b/tests/language_2/constants_2018/equals_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that equality is allowed for receivers of specific types.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constants_2018/potential_const_dynamic_test.dart b/tests/language_2/constants_2018/potential_const_dynamic_test.dart
index d16f5e4..90de32f 100644
--- a/tests/language_2/constants_2018/potential_const_dynamic_test.dart
+++ b/tests/language_2/constants_2018/potential_const_dynamic_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that a dynamic type does not affect whether an expression is
 // potentially constant, the actual type of the value of an experssion
 // only matters if the expression is evaluated as a constant.
diff --git a/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart b/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart
index 680ffee..fe99bbb 100644
--- a/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart
+++ b/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that short-circuit operators do not care about the unevaluated part.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constants_2018/potential_const_type_test.dart b/tests/language_2/constants_2018/potential_const_type_test.dart
index 6438e8b..0f06507 100644
--- a/tests/language_2/constants_2018/potential_const_type_test.dart
+++ b/tests/language_2/constants_2018/potential_const_type_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that types do not affect whether an expression is potentially
 // constant, they only matter if the expression is evaluated as a constant.
 
diff --git a/tests/language_2/constants_2018/type_cast_test.dart b/tests/language_2/constants_2018/type_cast_test.dart
index 3171204..72aa11e 100644
--- a/tests/language_2/constants_2018/type_cast_test.dart
+++ b/tests/language_2/constants_2018/type_cast_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that type casts (as) are allowed.
 
 main() {
diff --git a/tests/language_2/constants_2018/type_check_test.dart b/tests/language_2/constants_2018/type_check_test.dart
index c5ca055..7c7a318 100644
--- a/tests/language_2/constants_2018/type_check_test.dart
+++ b/tests/language_2/constants_2018/type_check_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Tests that type checks (is) are allowed.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/control_flow_collections/if_const_error_test.dart b/tests/language_2/control_flow_collections/if_const_error_test.dart
index 87cd501..bc1d0e2 100644
--- a/tests/language_2/control_flow_collections/if_const_error_test.dart
+++ b/tests/language_2/control_flow_collections/if_const_error_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 import 'dart:collection';
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/control_flow_collections/if_const_test.dart b/tests/language_2/control_flow_collections/if_const_test.dart
index 8eba551..20a2c25 100644
--- a/tests/language_2/control_flow_collections/if_const_test.dart
+++ b/tests/language_2/control_flow_collections/if_const_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 import 'package:expect/expect.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart
index e1f92af..8803cad 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart
@@ -95,24 +95,24 @@
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t0);
       bool t1 = this.getterInGlobalScope;
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t1);
       this.setterInGlobalScope = extensionValue;
       //   ^^^
       // [cfe] unspecified
       //   ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       bool t2 = this.methodInGlobalScope();
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t2);
     }
 
@@ -143,24 +143,24 @@
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t0);
       bool t1 = self.getterInGlobalScope;
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t1);
       self.setterInGlobalScope = extensionValue;
       //   ^^^
       // [cfe] unspecified
       //   ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       bool t2 = self.methodInGlobalScope();
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t2);
     }
 
@@ -232,24 +232,24 @@
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t0);
     bool t1 = a.getterInGlobalScope;
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t1);
     a.setterInGlobalScope = extensionValue;
     //^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     // ^^^
     // [cfe] unspecified
     bool t2 = a.methodInGlobalScope();
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t2);
   }
 
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart
index db4b51b..5679856 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart
@@ -95,24 +95,24 @@
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t0);
       bool t1 = this.getterInGlobalScope;
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t1);
       this.setterInGlobalScope = extensionValue;
       //   ^^^
       // [cfe] unspecified
       //   ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       bool t2 = this.methodInGlobalScope();
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t2);
     }
 
@@ -128,24 +128,24 @@
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t0);
       bool t1 = this.getterInExtensionScope;
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t1);
       this.setterInExtensionScope = extensionValue;
       //   ^^^
       // [cfe] unspecified
       //   ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       bool t2 = this.methodInExtensionScope();
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t2);
     }
 
@@ -165,24 +165,24 @@
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t0);
       bool t1 = self.getterInGlobalScope;
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t1);
       self.setterInGlobalScope = extensionValue;
       //   ^^^
       // [cfe] unspecified
       //   ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       bool t2 = self.methodInGlobalScope();
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t2);
     }
 
@@ -198,24 +198,24 @@
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t0);
       bool t1 = self.getterInExtensionScope;
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t1);
       self.setterInExtensionScope = extensionValue;
       //   ^^^
       // [cfe] unspecified
       //   ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       bool t2 = self.methodInExtensionScope();
       //             ^^^
       // [cfe] unspecified
       //             ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       checkExtensionValue(t2);
     }
 
@@ -254,7 +254,7 @@
       //        ^^^
       // [cfe] unspecified
       //        ^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       //        ^^^^^^^^^^^^^^^^^^^^^
       // [analyzer] STATIC_WARNING.UNDEFINED_IDENTIFIER
       checkExtensionValue(t0);
@@ -262,13 +262,13 @@
       //        ^^^
       // [cfe] unspecified
       //        ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       //        ^^^^^^^^^^^^^^^^^^^^^^
       // [analyzer] STATIC_WARNING.UNDEFINED_IDENTIFIER
       checkExtensionValue(t1);
       setterInExtensionScope = extensionValue;
 //    ^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+// [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
 //    ^^^^^^^^^^^^^^^^^^^^^^
 // [analyzer] STATIC_WARNING.UNDEFINED_IDENTIFIER
 //              ^^^
@@ -277,7 +277,7 @@
       //        ^^^
       // [cfe] unspecified
       //        ^^^^^^^^^^^^^^^^^^^^^^
-      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+      // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
       //        ^^^^^^^^^^^^^^^^^^^^^^
       // [analyzer] STATIC_TYPE_WARNING.UNDEFINED_METHOD
       checkExtensionValue(t2);
@@ -305,24 +305,24 @@
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t0);
     bool t1 = a.getterInGlobalScope;
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t1);
     a.setterInGlobalScope = extensionValue;
     //^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     // ^^^
     // [cfe] unspecified
     bool t2 = a.methodInGlobalScope();
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t2);
   }
 
@@ -338,24 +338,24 @@
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t0);
     bool t1 = a.getterInExtensionScope;
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t1);
     a.setterInExtensionScope = extensionValue;
     //^^^^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     // ^^^
     // [cfe] unspecified
     bool t2 = a.methodInExtensionScope();
     //          ^^^
     // [cfe] unspecified
     //          ^^^^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_METHOD_ACCESS
+    // [analyzer] COMPILE_TIME_ERROR.AMBIGUOUS_EXTENSION_MEMBER_ACCESS
     checkExtensionValue(t2);
   }
 
diff --git a/tests/language_2/language_2.status b/tests/language_2/language_2.status
index 4daa9a6..157f47f 100644
--- a/tests/language_2/language_2.status
+++ b/tests/language_2/language_2.status
@@ -23,7 +23,6 @@
 
 [ $compiler == none ]
 invalid_returns/*: Skip # https://github.com/dart-lang/sdk/issues/34013
-library_env_test/has_no_mirror_support: RuntimeError, OK
 void/*: Skip # https://github.com/dart-lang/sdk/issues/34013
 
 [ $compiler == spec_parser ]
@@ -33,7 +32,7 @@
 void/*: Skip # https://github.com/dart-lang/sdk/issues/34015
 
 [ $mode == debug ]
-large_class_declaration_test: Slow, Pass
+large_class_declaration_test: Slow
 
 [ $mode == product ]
 assertion_test: SkipByDesign # Requires checked mode.
@@ -49,12 +48,6 @@
 stacktrace_demangle_ctors_test: SkipByDesign # Names are not scrubbed.
 type_checks_in_factory_method_test: SkipByDesign # Requires checked mode.
 
-[ $runtime == vm ]
-spread_collections/const_error_test/05: Crash
-spread_collections/const_error_test/06: Crash
-spread_collections/const_error_test/07: Crash
-spread_collections/const_error_test/08: Crash
-
 [ $fasta ]
 partial_instantiation_static_bounds_check_test/01: MissingCompileTimeError # Issue 34327
 partial_instantiation_static_bounds_check_test/02: MissingCompileTimeError # Issue 34327
@@ -73,22 +66,6 @@
 mixin_constructor_forwarding/optional_named_parameters_test/none: CompileTimeError # Issue 31543
 mixin_constructor_forwarding/optional_positional_parameters_test/none: CompileTimeError # Issue 31543
 
-# Detection of compile-time errors that are related to constants can't be fully
-# done at the front end, because constants are evaluated at back ends.  So, some
-# errors aren't detected by fasta, but reported by back ends as compile-time
-# errors.
-[ $compiler != dart2analyzer && $compiler != dart2js && $runtime != dart_precompiled && $runtime != vm && $fasta ]
-implicit_creation/implicit_const_not_default_values_test/e12: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e15: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e18: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e21: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e24: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e27: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e3: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e30: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e6: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e9: MissingCompileTimeError
-
 [ $compiler != dart2js && $compiler != dartdevc && !$checked ]
 function_type/*: Skip # Needs checked mode.
 
@@ -136,6 +113,5 @@
 regress_23408_test: Crash # Requires deferred libraries
 regress_28278_test: Crash # Requires deferred libraries
 static_closure_identical_test: Pass, Fail # Closure identity
-symbol_conflict_test: Pass, Timeout
-vm/optimized_stacktrace_test: Pass, Slow
+vm/optimized_stacktrace_test: Slow
 vm/regress_27201_test: Pass, Crash # Requires deferred libraries
diff --git a/tests/language_2/language_2_analyzer.status b/tests/language_2/language_2_analyzer.status
index 57ab84a..73d9383 100644
--- a/tests/language_2/language_2_analyzer.status
+++ b/tests/language_2/language_2_analyzer.status
@@ -21,7 +21,6 @@
 enum_syntax_test/06: Fail # Issue 34341
 f_bounded_quantification2_test: CompileTimeError # Issue 34583
 f_bounded_quantification4_test: CompileTimeError # Issue 34583
-for_test/01: MissingCompileTimeError
 forwarding_stub_tearoff_test: CompileTimeError # Issue 34329
 generic_local_functions_test: CompileTimeError # Issue 28515
 generic_methods_generic_function_parameter_test: CompileTimeError # Issue 28515
@@ -66,38 +65,21 @@
 issue31596_tearoff_test: CompileTimeError # Issue #31596
 issue31596_test: CompileTimeError # Issue #31596
 issue34498_test: MissingCompileTimeError # Issue 34500
-large_class_declaration_test: Slow, Pass
+large_class_declaration_test: Slow
 malformed2_test: Pass, MissingCompileTimeError # Flaky: issue 31056.
-mixin_method_override_test/01: MissingCompileTimeError
-mixin_super_2_test: CompileTimeError
-mixin_super_use_test: CompileTimeError
 nested_generic_closure_test: CompileTimeError # Issue #28515
 no_main_test/01: Fail # failing-by-design, the analyzer has no restriction that a library include a main function.
-no_such_constructor2_test: StaticWarning
-override_inheritance_field_test/42: CompileTimeError
 part_of_multiple_libs_test/01: MissingCompileTimeError # Issue 33227
 part_refers_to_core_library_test/01: MissingCompileTimeError # Issue 29709
 prefix_shadow_test/01: MissingCompileTimeError # Issue 33005
-regress_22976_test/01: CompileTimeError
-regress_22976_test/02: CompileTimeError
-regress_22976_test/none: CompileTimeError
 regress_23408_test: Skip # don't care about the static warning.
-regress_27617_test/1: MissingCompileTimeError
 regress_29025_test: CompileTimeError # Issue 29081
 regress_29405_test: CompileTimeError # Issue 29421
 regress_29784_test/02: MissingCompileTimeError # Issue 29784
-regress_30339_test: CompileTimeError
 regress_33479_test/01: Crash # Issue #33479
 setter3_test/01: CompileTimeError # Invalid test, see https://github.com/dart-lang/sdk/issues/33837
 setter3_test/02: CompileTimeError # Invalid test, see https://github.com/dart-lang/sdk/issues/33837
-super_bound_closure_test/none: CompileTimeError
-super_call4_test/01: MissingCompileTimeError
 super_setter_test: CompileTimeError # Invalid test, see https://github.com/dart-lang/sdk/issues/33837
-syntax_test/60: MissingCompileTimeError
-syntax_test/61: MissingCompileTimeError
-try_catch_on_syntax_test/10: MissingCompileTimeError
-try_catch_on_syntax_test/11: MissingCompileTimeError
-type_inference_inconsistent_inheritance_test: MissingCompileTimeError
 type_variable_static_context_negative_test: Fail # Issue 12161
 vm/debug_break_enabled_vm_test: Skip
 vm/debug_break_vm_test/*: Skip
@@ -110,27 +92,3 @@
 void/return_future_or_future_or_void_sync_error2_test/none: CompileTimeError # issue #34319
 void/return_future_or_void_sync_error4_test/none: CompileTimeError # issue #34319
 void/void_type_usage_test/final_local_for_in2: MissingCompileTimeError # issue 35508
-web_int_literals_test/01: MissingCompileTimeError
-web_int_literals_test/02: MissingCompileTimeError
-web_int_literals_test/03: MissingCompileTimeError
-web_int_literals_test/10: MissingCompileTimeError
-web_int_literals_test/11: MissingCompileTimeError
-web_int_literals_test/12: MissingCompileTimeError
-web_int_literals_test/13: MissingCompileTimeError
-web_int_literals_test/14: MissingCompileTimeError
-web_int_literals_test/20: MissingCompileTimeError
-web_int_literals_test/21: MissingCompileTimeError
-web_int_literals_test/22: MissingCompileTimeError
-web_int_literals_test/23: MissingCompileTimeError
-web_int_literals_test/24: MissingCompileTimeError
-web_int_literals_test/25: MissingCompileTimeError
-web_int_literals_test/26: MissingCompileTimeError
-web_int_literals_test/27: MissingCompileTimeError
-web_int_literals_test/28: MissingCompileTimeError
-web_int_literals_test/29: MissingCompileTimeError
-web_int_literals_test/61: MissingCompileTimeError
-web_int_literals_test/62: MissingCompileTimeError
-web_int_literals_test/63: MissingCompileTimeError
-web_int_literals_test/64: MissingCompileTimeError
-web_int_literals_test/65: MissingCompileTimeError
-web_int_literals_test/70: MissingCompileTimeError
diff --git a/tests/language_2/language_2_kernel.status b/tests/language_2/language_2_kernel.status
index 8c9269b..ee72f59 100644
--- a/tests/language_2/language_2_kernel.status
+++ b/tests/language_2/language_2_kernel.status
@@ -2,256 +2,24 @@
 # 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.
 
-enum_initialization_near_stack_overflow_test: Pass, CompileTimeError, OK
 
 [ $compiler == app_jitk ]
-assertion_initializer_const_error2_test/cc01: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc02: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc03: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc04: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc05: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc06: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc07: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc08: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc09: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc10: MissingCompileTimeError
-async_star_cancel_while_paused_test: RuntimeError
-async_star_pause_test: RuntimeError
-async_star_test/02: RuntimeError
-call_method_implicit_tear_off_implements_function_test/05: RuntimeError
-call_method_implicit_tear_off_implements_function_test/06: RuntimeError
-call_method_must_not_be_field_test/03: RuntimeError
-call_method_must_not_be_getter_test/03: RuntimeError
-compile_time_constant_static5_test/11: CompileTimeError
-compile_time_constant_static5_test/16: CompileTimeError
-compile_time_constant_static5_test/21: CompileTimeError
-compile_time_constant_static5_test/23: CompileTimeError
-conditional_import_string_test: CompileTimeError
-conditional_import_test: CompileTimeError
-config_import_corelib_test: CompileTimeError
-config_import_test: RuntimeError
-const_list_test: RuntimeError
-const_locals_test: RuntimeError
-const_nested_test: RuntimeError
-const_string_test: RuntimeError
-covariant_subtyping_test: RuntimeError
-ct_const_test: RuntimeError
-cyclic_type2_test: CompileTimeError
-cyclic_type_test/02: CompileTimeError
-cyclic_type_test/04: CompileTimeError
-deferred_call_empty_before_load_test: RuntimeError
-deferred_load_constants_test/none: RuntimeError
-deferred_not_loaded_check_test: RuntimeError
-deferred_redirecting_factory_test: RuntimeError
-deferred_static_seperate_test: RuntimeError
-dynamic_prefix_core_test/none: CompileTimeError
-example_constructor_test: RuntimeError
-external_test/10: MissingRuntimeError
-external_test/13: MissingRuntimeError
-external_test/20: MissingRuntimeError
-flatten_test/05: MissingRuntimeError
-flatten_test/08: MissingRuntimeError
-flatten_test/09: MissingRuntimeError
-flatten_test/12: MissingRuntimeError
-function_propagation_test: RuntimeError
-function_subtype_inline2_test: RuntimeError
-generic_function_bounds_test: RuntimeError
-generic_is_check_test: RuntimeError
-generic_no_such_method_dispatcher_simple_test: CompileTimeError
-generic_no_such_method_dispatcher_test: CompileTimeError
-generic_tearoff_test: CompileTimeError
-instantiate_tearoff_of_call_test: CompileTimeError
-issue31596_super_test/01: CompileTimeError
-issue31596_super_test/03: CompileTimeError
-issue31596_super_test/05: RuntimeError
-least_upper_bound_expansive_test/none: CompileTimeError
-library_env_test/has_html_support: RuntimeError
-library_env_test/has_no_io_support: RuntimeError
-library_env_test/has_no_mirror_support: RuntimeError
-local_function2_test/none: RuntimeError
-local_function3_test/none: RuntimeError
-local_function_test/none: RuntimeError
-main_test/03: RuntimeError
-mixin_illegal_super_use_test/01: MissingCompileTimeError
-mixin_illegal_super_use_test/04: MissingCompileTimeError
-mixin_illegal_super_use_test/07: MissingCompileTimeError
-mixin_illegal_super_use_test/10: MissingCompileTimeError
-mixin_illegal_super_use_test/11: MissingCompileTimeError
-mixin_illegal_superclass_test/01: MissingCompileTimeError
-mixin_illegal_superclass_test/02: MissingCompileTimeError
-mixin_illegal_superclass_test/03: MissingCompileTimeError
-mixin_illegal_superclass_test/04: MissingCompileTimeError
-mixin_illegal_superclass_test/05: MissingCompileTimeError
-mixin_illegal_superclass_test/06: MissingCompileTimeError
-mixin_illegal_superclass_test/07: MissingCompileTimeError
-mixin_illegal_superclass_test/08: MissingCompileTimeError
-mixin_illegal_superclass_test/09: MissingCompileTimeError
-mixin_illegal_superclass_test/10: MissingCompileTimeError
-mixin_illegal_superclass_test/11: MissingCompileTimeError
-mixin_illegal_superclass_test/12: MissingCompileTimeError
-mixin_illegal_superclass_test/13: MissingCompileTimeError
-mixin_illegal_superclass_test/14: MissingCompileTimeError
-mixin_illegal_superclass_test/15: MissingCompileTimeError
-mixin_illegal_superclass_test/16: MissingCompileTimeError
-mixin_illegal_superclass_test/17: MissingCompileTimeError
-mixin_illegal_superclass_test/18: MissingCompileTimeError
-mixin_illegal_superclass_test/19: MissingCompileTimeError
-mixin_illegal_superclass_test/20: MissingCompileTimeError
-mixin_illegal_superclass_test/21: MissingCompileTimeError
-mixin_illegal_superclass_test/22: MissingCompileTimeError
-mixin_illegal_superclass_test/23: MissingCompileTimeError
-mixin_illegal_superclass_test/24: MissingCompileTimeError
-mixin_illegal_superclass_test/25: MissingCompileTimeError
-mixin_illegal_superclass_test/26: MissingCompileTimeError
-mixin_illegal_superclass_test/27: MissingCompileTimeError
-mixin_illegal_superclass_test/28: MissingCompileTimeError
-mixin_illegal_superclass_test/29: MissingCompileTimeError
-mixin_illegal_superclass_test/30: MissingCompileTimeError
-named_parameters_default_eq_test/none: RuntimeError
-nested_generic_closure_test: RuntimeError
 no_main_test/01: Crash
-no_such_method_mock_test: RuntimeError
-null_no_such_method_test: CompileTimeError
-regress_22443_test: RuntimeError
-regress_23408_test: CompileTimeError
-regress_29025_test: CompileTimeError
-regress_29405_test: CompileTimeError
-regress_30339_test: CompileTimeError
-string_interpolation_and_buffer_test: RuntimeError
-super_bound_closure_test/none: CompileTimeError
-super_test: RuntimeError
 type_alias_equality_test/03: RuntimeError # Issue 32783
 type_alias_equality_test/04: RuntimeError # Issue 32783
-type_error_test: RuntimeError
-type_promotion_more_specific_test/04: CompileTimeError
 vm/bool_check_stack_traces_test/02: RuntimeError # Issue 33584
 vm/regress_27671_test: SkipByDesign # Relies on string comparison of exception message which may return '<optimized out>'
-vm/type_cast_vm_test: RuntimeError
 web_int_literals_test/*: SkipByDesign # Test applies only to JavaScript targets
 
-[ $compiler == dartdevk ]
-private_method_tearoff_test: RuntimeError
-
 [ $compiler == dartkp ]
-covariant_subtyping_test: RuntimeError
 generic_no_such_method_dispatcher_test: RuntimeError # Issue 31424
 web_int_literals_test/*: SkipByDesign # Test applies only to JavaScript targets
 
 [ $compiler == fasta ]
-assertion_initializer_const_error2_test/cc01: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc02: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc03: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc04: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc05: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc06: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc07: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc08: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc09: MissingCompileTimeError
-assertion_initializer_const_error2_test/cc10: MissingCompileTimeError
 async_await_syntax_test/e5: Crash # Assertion error: continuation.dart: Failed assertion: 'node.expression == null || node.expression is NullLiteral': is not true.
 async_await_syntax_test/e6: Crash # Assertion error: continuation.dart: Failed assertion: 'node.expression == null || node.expression is NullLiteral': is not true.
-compile_time_constant_static4_test/02: MissingCompileTimeError
-compile_time_constant_static4_test/03: MissingCompileTimeError
-compile_time_constant_static5_test/11: CompileTimeError
-compile_time_constant_static5_test/16: CompileTimeError
-compile_time_constant_static5_test/21: CompileTimeError
-compile_time_constant_static5_test/23: CompileTimeError
-conditional_import_string_test: CompileTimeError
-conditional_import_test: CompileTimeError
-config_import_corelib_test: CompileTimeError
-const_cast1_test/02: MissingCompileTimeError
-const_constructor3_test/04: MissingCompileTimeError
-const_constructor_nonconst_param_test/01: MissingCompileTimeError
-constants_test/05: MissingCompileTimeError
 constructor5_test: CompileTimeError # Verification error
 constructor6_test: CompileTimeError # Verification error
-deferred_load_library_wrong_args_test/01: CompileTimeError
-dynamic_prefix_core_test/none: CompileTimeError
-external_test/21: CompileTimeError
-external_test/24: CompileTimeError
-generic_no_such_method_dispatcher_simple_test: CompileTimeError
-generic_no_such_method_dispatcher_test: CompileTimeError
-generic_tearoff_test: CompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e1: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e10: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e11: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e13: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e14: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e16: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e17: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e19: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e2: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e20: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e22: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e23: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e25: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e26: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e28: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e29: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e4: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e5: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e7: MissingCompileTimeError
-implicit_creation/implicit_const_not_default_values_test/e8: MissingCompileTimeError
-instantiate_tearoff_of_call_test: CompileTimeError
-issue31596_super_test/01: CompileTimeError
-issue31596_super_test/03: CompileTimeError
-mixin_illegal_super_use_test/01: MissingCompileTimeError
-mixin_illegal_super_use_test/04: MissingCompileTimeError
-mixin_illegal_super_use_test/07: MissingCompileTimeError
-mixin_illegal_super_use_test/10: MissingCompileTimeError
-mixin_illegal_super_use_test/11: MissingCompileTimeError
-mixin_illegal_superclass_test/01: MissingCompileTimeError
-mixin_illegal_superclass_test/02: MissingCompileTimeError
-mixin_illegal_superclass_test/03: MissingCompileTimeError
-mixin_illegal_superclass_test/04: MissingCompileTimeError
-mixin_illegal_superclass_test/05: MissingCompileTimeError
-mixin_illegal_superclass_test/06: MissingCompileTimeError
-mixin_illegal_superclass_test/07: MissingCompileTimeError
-mixin_illegal_superclass_test/08: MissingCompileTimeError
-mixin_illegal_superclass_test/09: MissingCompileTimeError
-mixin_illegal_superclass_test/10: MissingCompileTimeError
-mixin_illegal_superclass_test/11: MissingCompileTimeError
-mixin_illegal_superclass_test/12: MissingCompileTimeError
-mixin_illegal_superclass_test/13: MissingCompileTimeError
-mixin_illegal_superclass_test/14: MissingCompileTimeError
-mixin_illegal_superclass_test/15: MissingCompileTimeError
-mixin_illegal_superclass_test/16: MissingCompileTimeError
-mixin_illegal_superclass_test/17: MissingCompileTimeError
-mixin_illegal_superclass_test/18: MissingCompileTimeError
-mixin_illegal_superclass_test/19: MissingCompileTimeError
-mixin_illegal_superclass_test/20: MissingCompileTimeError
-mixin_illegal_superclass_test/21: MissingCompileTimeError
-mixin_illegal_superclass_test/22: MissingCompileTimeError
-mixin_illegal_superclass_test/23: MissingCompileTimeError
-mixin_illegal_superclass_test/24: MissingCompileTimeError
-mixin_illegal_superclass_test/25: MissingCompileTimeError
-mixin_illegal_superclass_test/26: MissingCompileTimeError
-mixin_illegal_superclass_test/27: MissingCompileTimeError
-mixin_illegal_superclass_test/28: MissingCompileTimeError
-mixin_illegal_superclass_test/29: MissingCompileTimeError
-mixin_illegal_superclass_test/30: MissingCompileTimeError
-multiline_newline_test/04: MissingCompileTimeError
-multiline_newline_test/04r: MissingCompileTimeError
-multiline_newline_test/05: MissingCompileTimeError
-multiline_newline_test/05r: MissingCompileTimeError
-multiline_newline_test/06: MissingCompileTimeError
-multiline_newline_test/06r: MissingCompileTimeError
-null_no_such_method_test: CompileTimeError
-regress_23408_test: CompileTimeError
-regress_29025_test: CompileTimeError
-regress_29405_test: CompileTimeError
-regress_30339_test: CompileTimeError
-setter_no_getter_test/01: CompileTimeError
-super_bound_closure_test/none: CompileTimeError
-try_catch_test/01: MissingCompileTimeError
-type_promotion_more_specific_test/04: CompileTimeError
-vm/regress_33469_test/01: MissingCompileTimeError
-vm/regress_33469_test/02: MissingCompileTimeError
-vm/regress_33469_test/03: MissingCompileTimeError
-vm/regress_33469_test/04: MissingCompileTimeError
-vm/regression_32912_test/01: MissingCompileTimeError
-vm/regression_32912_test/02: MissingCompileTimeError
-vm/regression_32912_test/03: MissingCompileTimeError
 web_int_literals_test/*: SkipByDesign # Test applies only to JavaScript targets
 
 [ $fasta ]
@@ -267,12 +35,6 @@
 f_bounded_quantification4_test: CompileTimeError # Issue 34583
 issue31596_super_test/02: MissingCompileTimeError # Issue 31596
 issue31596_super_test/04: MissingCompileTimeError # Issue 31596
-mixin_declaration/mixin_declaration_invalid_override_test/08: MissingCompileTimeError
-mixin_declaration/mixin_declaration_superinvocation_application_test/04: MissingCompileTimeError
-mixin_declaration/mixin_declaration_superinvocation_application_test/05: MissingCompileTimeError
-mixin_declaration/mixin_declaration_superinvocation_application_test/06: MissingCompileTimeError
-mixin_declaration/mixin_declaration_superinvocation_application_test/07: MissingCompileTimeError
-mixin_declaration/mixin_declaration_superinvocation_application_test/08: MissingCompileTimeError
 nnbd/*: Skip
 regress_22976_test/*: CompileTimeError # Issue 31935
 set_literals/invalid_set_literal_test/08: MissingCompileTimeError # Requires constant evaluation
@@ -443,7 +205,6 @@
 syntax_test/60: MissingCompileTimeError # Issue 30470
 syntax_test/61: MissingCompileTimeError # Issue 30470
 type_constants_test/04: MissingCompileTimeError # Issue 32557
-type_promotion_logical_and_test/01: MissingCompileTimeError
 vm/debug_break_enabled_vm_test/01: CompileTimeError # KernelVM bug: Bad test using extended break syntax.
 vm/debug_break_enabled_vm_test/none: CompileTimeError # KernelVM bug: Bad test using extended break syntax.
 vm/regress_27201_test: CompileTimeError # Fasta/KernelVM bug: Deferred loading kernel issue 30273.
@@ -468,34 +229,19 @@
 vm/no_such_method_error_message_vm_test: SkipByDesign # Looks for unobfuscated name in error message
 vm/regress_28325_test: SkipByDesign # Looks for filename in stack trace
 
-[ $compiler == app_jitk && $mode == product ]
-vm/causal_async_exception_stack2_test: RuntimeError
-vm/causal_async_exception_stack_test: RuntimeError
-
-[ $compiler != app_jitk && $compiler != dart2analyzer && $compiler != dart2js && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $fasta ]
-const_optional_args_test/01: MissingCompileTimeError
-
 # The precompilation and bytecode configurations use a kernel2kernel constants evaluator
 # which is is more correct than fasta/vm in JIT mode (i.e. it catches more
 # compile-time errors).
 [ $compiler != dart2analyzer && $compiler != dart2js && $compiler != dartkb && $compiler != dartkp && $fasta ]
-compile_time_constant_c_test/02: MissingCompileTimeError
-compile_time_constant_k_test/01: MissingCompileTimeError
-compile_time_constant_k_test/02: MissingCompileTimeError
-compile_time_constant_k_test/03: MissingCompileTimeError
 compile_time_constant_o_test/01: MissingCompileTimeError # Issue 32983
 compile_time_constant_o_test/02: MissingCompileTimeError # Issue 32983
 const_dynamic_type_literal_test/02: MissingCompileTimeError # Issue 32983
-const_syntax_test/05: MissingCompileTimeError
 identical_const_test/01: MissingCompileTimeError # Issue 32983
 identical_const_test/02: MissingCompileTimeError # Issue 32983
 identical_const_test/03: MissingCompileTimeError # Issue 32983
 identical_const_test/04: MissingCompileTimeError # Issue 32983
-map_literal3_test/01: MissingCompileTimeError
-map_literal3_test/02: MissingCompileTimeError
 
 [ $compiler != dart2analyzer && $compiler != dart2js && $fasta ]
-super_call4_test/01: MissingCompileTimeError
 switch_bad_case_test/01: MissingCompileTimeError # KernelVM bug: Constant evaluation.
 switch_bad_case_test/02: MissingCompileTimeError # KernelVM bug: Constant evaluation.
 switch_case_test/00: MissingCompileTimeError # KernelVM bug: Constant evaluation.
@@ -505,7 +251,6 @@
 [ $compiler != dart2analyzer && $fasta ]
 const_map2_test/00: MissingCompileTimeError # KernelVM bug: Constant evaluation.
 const_map3_test/00: MissingCompileTimeError # KernelVM bug: Constant evaluation.
-map_literal3_test/03: MissingCompileTimeError
 
 [ $compiler != dart2js && $compiler != dartdevk && $fasta ]
 const_native_factory_test: MissingCompileTimeError # Issue 29763
@@ -531,49 +276,19 @@
 [ $compiler == dartkb && $runtime == vm ]
 async_star_test/03: Pass, RuntimeError # Please triage
 async_star_test/04: Pass, RuntimeError # Please triage
-compile_time_constant_o_test/01: Pass
-compile_time_constant_o_test/02: Pass
-const_dynamic_type_literal_test/02: Pass
-map_literal3_test/01: Pass
-map_literal3_test/02: Pass
-vm/bool_check_stack_traces_test/02: Pass
 vm/causal_async_exception_stack2_test: RuntimeError # Please triage
 vm/causal_async_exception_stack_test: RuntimeError # Please triage
 
-[ $compiler != dartkb && $compiler != dartkp && $fasta ]
-vm/symbols_test/01: MissingCompileTimeError
-vm/symbols_test/03: MissingCompileTimeError
-
 [ $compiler == dartkp && $mode == debug && $runtime == dart_precompiled ]
 external_test/13: Crash
-vm/precompiled_static_initializer_test: Pass, Slow
-
-[ $compiler == dartkp && $mode == product && $runtime == dart_precompiled ]
-vm/type_vm_test/28: MissingRuntimeError
-vm/type_vm_test/29: MissingRuntimeError
-vm/type_vm_test/30: MissingRuntimeError
-vm/type_vm_test/31: MissingRuntimeError
-vm/type_vm_test/32: MissingRuntimeError
-vm/type_vm_test/33: MissingRuntimeError
-vm/type_vm_test/34: MissingRuntimeError
-vm/type_vm_test/35: MissingRuntimeError
-vm/type_vm_test/36: MissingRuntimeError
+vm/precompiled_static_initializer_test: Slow
 
 # ==== dartkp + dart_precompiled status lines ====
 [ $compiler == dartkp && $runtime == dart_precompiled ]
-assert_with_type_test_or_cast_test: Pass, Crash
-assertion_initializer_const_error_test/01: Pass
-async_star_cancel_while_paused_test: RuntimeError
-async_star_pause_test: Fail, OK
+assert_with_type_test_or_cast_test: Crash
 async_star_test/02: RuntimeError, CompileTimeError # Issue 31402 (Invocation arguments)
-built_in_identifier_prefix_test: CompileTimeError
-call_method_implicit_tear_off_implements_function_test/05: RuntimeError
-call_method_implicit_tear_off_implements_function_test/06: RuntimeError
 call_method_must_not_be_field_test/03: RuntimeError # Issue 32265
 call_method_must_not_be_getter_test/03: RuntimeError # Issue 32265
-checked_setter3_test/01: MissingCompileTimeError
-checked_setter3_test/02: MissingCompileTimeError
-checked_setter3_test/03: MissingCompileTimeError
 compile_time_constant_static5_test/11: CompileTimeError # Issue 31537
 compile_time_constant_static5_test/16: CompileTimeError # Issue 31537
 compile_time_constant_static5_test/21: CompileTimeError # Issue 31537
@@ -583,13 +298,8 @@
 config_import_corelib_test: CompileTimeError # Issue 31533
 config_import_test: RuntimeError # KernelVM bug: Configurable imports.
 const_evaluation_test: SkipByDesign
-const_list_test: RuntimeError
-constructor3_test: Fail, OK, Pass
 ct_const2_test: Skip # Incompatible flag: --compile_all
-ct_const_test: RuntimeError
-cyclic_type2_test: Fail, OK
 cyclic_type_test/02: Fail, OK # Non-contractive types are not supported in the vm.
-cyclic_type_test/04: Fail, OK
 deferred_call_empty_before_load_test: RuntimeError # Fasta/KernelVM bug: Deferred loading kernel issue 30273.
 deferred_load_constants_test/none: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 deferred_load_library_wrong_args_test/01: Pass # Passes by mistake. KernelVM bug: Deferred loading kernel issue 30273.
@@ -597,31 +307,16 @@
 deferred_redirecting_factory_test: CompileTimeError, Fail, Crash # Issue 23408, KernelVM bug: Deferred loading kernel issue 30273.
 deferred_static_seperate_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 deopt_inlined_function_lazy_test: Skip # Incompatible flag: --deoptimize-alot
-dynamic_prefix_core_test/none: CompileTimeError
 enum_mirror_test: SkipByDesign
-example_constructor_test: Fail, OK
 export_ambiguous_main_test: Skip # Issue 29895 Fail Issue 14763
 export_double_same_main_test: Skip # Issue 29895 Crash Issue 29895
 external_test/10: MissingRuntimeError # KernelVM bug: Unbound external.
 external_test/13: MissingRuntimeError # KernelVM bug: Unbound external.
 external_test/20: MissingRuntimeError # KernelVM bug: Unbound external.
-factory3_test/01: Pass
 field_increment_bailout_test: SkipByDesign
-flatten_test/05: MissingRuntimeError
-flatten_test/08: MissingRuntimeError
-flatten_test/09: MissingRuntimeError
-flatten_test/12: MissingRuntimeError
-for_in_side_effects_test/01: MissingCompileTimeError
-function_propagation_test: RuntimeError
-function_subtype_inline2_test: RuntimeError
-generic_is_check_test: RuntimeError
-generic_methods_recursive_bound_test/03: Pass
-generic_methods_recursive_bound_test/03: MissingRuntimeError
-generic_methods_recursive_bound_test/03: Crash, Pass
-generic_methods_reuse_type_variables_test: Pass
+generic_methods_recursive_bound_test/03: Crash
 generic_no_such_method_dispatcher_simple_test: CompileTimeError # Issue 31533
 generic_no_such_method_dispatcher_test: CompileTimeError # Issue 31533
-generic_tearoff_test: CompileTimeError
 hello_dart_test: Skip # Incompatible flag: --compile_all
 implicit_closure_test: Skip # Incompatible flag: --use_slow_path
 implicit_downcast_during_assignment_test: Pass # Correctly passes.
@@ -645,40 +340,17 @@
 implicit_downcast_during_yield_star_test: Pass # Correctly passes.
 implicit_downcast_during_yield_test: Pass # Correctly passes.
 instance_creation_in_function_annotation_test: SkipByDesign
-instantiate_tearoff_of_call_test: CompileTimeError
 invocation_mirror2_test: SkipByDesign
 invocation_mirror_invoke_on2_test: SkipByDesign
 invocation_mirror_invoke_on_test: SkipByDesign
 issue21079_test: SkipByDesign
-issue31596_super_test/01: CompileTimeError
-issue31596_super_test/03: CompileTimeError
-issue31596_super_test/05: RuntimeError
-least_upper_bound_expansive_test/none: RuntimeError
 library_env_test/has_html_support: RuntimeError # KernelVM bug: Configurable imports.
 library_env_test/has_no_io_support: RuntimeError # KernelVM bug: Configurable imports.
-library_env_test/has_no_mirror_support: RuntimeError
-local_function2_test/none: RuntimeError
-local_function3_test/none: RuntimeError
-local_function_test/none: RuntimeError
 main_not_a_function_test: Skip
-main_test/03: RuntimeError
 many_overridden_no_such_method_test: SkipByDesign
-map_literal3_test/03: MissingCompileTimeError
-method_override4_test/01: MissingCompileTimeError
-method_override4_test/02: MissingCompileTimeError
-method_override4_test/03: MissingCompileTimeError
-method_override5_test/01: MissingCompileTimeError
-method_override5_test/02: MissingCompileTimeError
-method_override5_test/03: MissingCompileTimeError
-method_override6_test/01: MissingCompileTimeError
-method_override6_test/02: MissingCompileTimeError
-method_override6_test/03: MissingCompileTimeError
 mixin_illegal_super_use_test: Skip # Issues 24478 and 23773
 mixin_illegal_superclass_test: Skip # Issues 24478 and 23773
-named_parameters_default_eq_test/none: RuntimeError
-nested_generic_closure_test: RuntimeError
 no_main_test/01: Skip
-no_such_method_mock_test: RuntimeError
 no_such_method_test: SkipByDesign
 null_no_such_method_test: CompileTimeError # Issue 31533
 null_test/mirrors: Skip # Uses mirrors.
@@ -690,20 +362,15 @@
 regress_18535_test: SkipByDesign
 regress_22443_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 regress_23408_test: CompileTimeError # KernelVM bug: Deferred loading kernel issue 30273.
-regress_23408_test: RuntimeError
 regress_28255_test: SkipByDesign
 regress_29025_test: CompileTimeError # Issue 31402 (Variable declaration)
 regress_29405_test: CompileTimeError # Issue 31402 (Invocation arguments)
 regress_30339_test: CompileTimeError # Issue 31402 (Variable declaration)
 setter_no_getter_test/01: Pass, CompileTimeError # Issue 31533 (started passing after switching to batch-mode)
-stacktrace_demangle_ctors_test: RuntimeError
 string_interpolation_and_buffer_test: RuntimeError # Issue 31402 (Return and yield statements)
 super_bound_closure_test/none: CompileTimeError # Issue 31533
-super_test: Fail, OK
-syntax_test/00: MissingCompileTimeError
 type_alias_equality_test/03: RuntimeError # Issue 32783
 type_alias_equality_test/04: RuntimeError # Issue 32783
-type_promotion_logical_and_test/01: MissingCompileTimeError
 type_promotion_more_specific_test/04: CompileTimeError # Issue 31533
 vm/bool_check_stack_traces_test/01: RuntimeError # Issue 33584
 vm/bool_check_stack_traces_test/02: RuntimeError # Issue 33584
@@ -715,29 +382,6 @@
 vm/regress_29145_test: Skip # Issue 29145
 vm/type_cast_vm_test: RuntimeError # Expects line and column numbers
 vm/type_vm_test: RuntimeError, Pass # Expects line and column numbers
-vm/type_vm_test/01: MissingCompileTimeError
-vm/type_vm_test/02: MissingCompileTimeError
-vm/type_vm_test/03: MissingCompileTimeError
-vm/type_vm_test/04: MissingCompileTimeError
-vm/type_vm_test/06: MissingCompileTimeError
-vm/type_vm_test/08: MissingCompileTimeError
-vm/type_vm_test/09: MissingCompileTimeError
-vm/type_vm_test/10: MissingCompileTimeError
-vm/type_vm_test/11: MissingCompileTimeError
-vm/type_vm_test/12: MissingCompileTimeError
-vm/type_vm_test/13: MissingCompileTimeError
-vm/type_vm_test/14: MissingCompileTimeError
-vm/type_vm_test/15: MissingCompileTimeError
-vm/type_vm_test/16: MissingCompileTimeError
-vm/type_vm_test/22: MissingCompileTimeError
-vm/type_vm_test/24: MissingCompileTimeError
-vm/type_vm_test/25: MissingCompileTimeError
-vm/type_vm_test/26: MissingCompileTimeError
-vm/type_vm_test/27: MissingCompileTimeError
-vm/type_vm_test/29: MissingRuntimeError
-vm/type_vm_test/30: MissingRuntimeError
-vm/type_vm_test/31: MissingRuntimeError
-vm/type_vm_test/32: MissingRuntimeError
 
 [ $compiler == dartkp && $runtime == dart_precompiled && $checked ]
 assert_initializer_test/31: MissingCompileTimeError # KernelVM bug: Constant evaluation.
@@ -768,27 +412,6 @@
 assertion_initializer_const_error2_test/cc09: Crash
 assertion_initializer_const_error2_test/cc10: Crash
 assertion_initializer_const_error2_test/cc11: Crash
-async_await_test: RuntimeError
-async_return_types_test/nestedFuture: Fail
-async_star/async_star_cancel_test: DartkCrash
-async_star/async_star_invalid_test/01: DartkCrash
-async_star/async_star_invalid_test/02: DartkCrash
-async_star/async_star_invalid_test/03: DartkCrash
-async_star/async_star_invalid_test/04: DartkCrash
-async_star/async_star_invalid_test/none: DartkCrash
-async_star/async_star_test: DartkCrash
-compile_time_constant_checked_test/02: MissingCompileTimeError
-covariance_type_parameter_test/01: RuntimeError
-covariance_type_parameter_test/02: RuntimeError
-covariance_type_parameter_test/03: RuntimeError
-covariance_type_parameter_test/none: RuntimeError
-default_factory2_test/01: Fail
-function_subtype_checked0_test: Pass
-function_subtype_closure0_test: Pass
-function_subtype_closure1_test: Pass
-function_subtype_factory1_test: Pass
-function_subtype_inline1_test: Pass
-function_subtype_inline2_test: Pass
 generic_functions_test: Pass # Issue 25869
 generic_local_functions_test: Pass # Issue 25869
 generic_methods_function_type_test: Pass # Issue 25869
@@ -796,42 +419,13 @@
 generic_methods_new_test: Pass # Issue 25869
 generic_methods_test: Pass # Issue 25869
 known_identifier_usage_error_test/none: RuntimeError # Issue 28814
-malbounded_type_test_test/03: Fail
-malbounded_type_test_test/04: Fail
-recursive_inheritance_test: RuntimeError
-redirecting_factory_infinite_steps_test/01: Fail
-redirecting_factory_malbounded_test/01: Fail
 regress_22728_test: Fail # Dartk Issue 28498
-regress_22728_test: RuntimeError
 
 [ $compiler == dartkp && $runtime == dart_precompiled && !$checked ]
-assertion_initializer_const_error_test/01: MissingCompileTimeError
-assertion_initializer_const_function_error_test/01: MissingCompileTimeError
-implicit_downcast_during_combiner_test: RuntimeError
-implicit_downcast_during_compound_assignment_test: RuntimeError
-implicit_downcast_during_conditional_expression_test: RuntimeError
-implicit_downcast_during_do_test: RuntimeError
-implicit_downcast_during_for_condition_test: RuntimeError
-implicit_downcast_during_for_initializer_expression_test: RuntimeError
-implicit_downcast_during_for_initializer_var_test: RuntimeError
-implicit_downcast_during_if_null_assignment_test: RuntimeError
-implicit_downcast_during_if_statement_test: RuntimeError
-implicit_downcast_during_list_literal_test: RuntimeError
-implicit_downcast_during_logical_expression_test: RuntimeError
-implicit_downcast_during_map_literal_test: RuntimeError
-implicit_downcast_during_not_test: RuntimeError
-implicit_downcast_during_return_async_test: RuntimeError
-implicit_downcast_during_return_test: RuntimeError
-implicit_downcast_during_variable_declaration_test: RuntimeError
-implicit_downcast_during_while_statement_test: RuntimeError
-implicit_downcast_during_yield_star_test: RuntimeError
-implicit_downcast_during_yield_test: RuntimeError
-regress_30339_test: RuntimeError
 type_error_test: RuntimeError # Issue 31402 (Variable declaration)
-vm/causal_async_exception_stack_test: RuntimeError
 
 [ $compiler == dartkp && $system == windows ]
-disassemble_test: Pass, Slow
+disassemble_test: Slow
 
 [ $mode == debug && $runtime == vm && ($compiler == app_jitk || $compiler == dartk || $compiler == dartkb) ]
 deopt_inlined_function_lazy_test: Skip
@@ -847,10 +441,8 @@
 enum_test: Crash # Issue 34606
 
 [ $mode == product && $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
-deferred_not_loaded_check_test: CompileTimeError
 vm/causal_async_exception_stack2_test: SkipByDesign
 vm/causal_async_exception_stack_test: SkipByDesign
-vm/type_vm_test/29: MissingRuntimeError
 
 [ $runtime == vm && $checked && ($compiler == dartk || $compiler == dartkb) ]
 assert_initializer_test/31: MissingCompileTimeError # KernelVM bug: Constant evaluation.
@@ -870,11 +462,6 @@
 assert_initializer_test/47: MissingCompileTimeError # KernelVM bug: Constant evaluation.
 assert_initializer_test/48: MissingCompileTimeError # KernelVM bug: Constant evaluation.
 assert_initializer_test/none: RuntimeError # KernelVM bug: Constant evaluation.
-async_return_types_test/nestedFuture: Fail
-compile_time_constant_checked_test/02: MissingCompileTimeError
-malbounded_type_test_test/03: Fail
-malbounded_type_test_test/04: Fail
-regress_30339_test: RuntimeError
 
 [ $runtime == vm && !$checked && ($compiler == dartk || $compiler == dartkb) ]
 type_error_test: RuntimeError # Issue 31402 (Variable declaration)
@@ -882,12 +469,7 @@
 # ===== dartk + vm status lines =====
 [ $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
 arithmetic2_test: RuntimeError # Throws CastError instead of TypeError
-async_star_cancel_while_paused_test: RuntimeError
-async_star_pause_test: Fail, OK
 async_star_test/02: RuntimeError # Issue 31402 (Invocation arguments)
-built_in_identifier_prefix_test: CompileTimeError
-call_method_implicit_tear_off_implements_function_test/05: RuntimeError
-call_method_implicit_tear_off_implements_function_test/06: RuntimeError
 call_method_must_not_be_field_test/03: RuntimeError # Issue 32265
 call_method_must_not_be_getter_test/03: RuntimeError # Issue 32265
 compile_time_constant_o_test/01: RuntimeError # KernelVM bug: Constant map duplicated key.
@@ -901,17 +483,8 @@
 config_import_corelib_test: CompileTimeError # Issue 31533
 config_import_test: RuntimeError # KernelVM bug: Configurable imports.
 const_dynamic_type_literal_test/02: RuntimeError # KernelVM bug: Constant map duplicated key.
-const_list_test: RuntimeError
-const_locals_test: RuntimeError
 const_nested_test: RuntimeError # KernelVM bug: Constant evaluation.
-const_string_test: RuntimeError
-constructor3_test: Fail, OK, Pass
-covariant_subtyping_test: RuntimeError
 ct_const2_test: Pass, Crash # Flaky
-ct_const_test: RuntimeError
-cyclic_type2_test: RuntimeError, CompileTimeError
-cyclic_type_test/02: RuntimeError, CompileTimeError
-cyclic_type_test/04: RuntimeError, CompileTimeError
 deferred_call_empty_before_load_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 deferred_load_constants_test/none: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 deferred_load_library_wrong_args_test/01: Pass # Passes by mistake. KernelVM bug: Deferred loading kernel issue 30273.
@@ -919,53 +492,16 @@
 deferred_redirecting_factory_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 deferred_static_seperate_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
 disassemble_test: Pass, Slow, Crash # dartbug.com/34971
-dynamic_prefix_core_test/none: CompileTimeError
-example_constructor_test: Fail, OK
 external_test/10: MissingRuntimeError # KernelVM bug: Unbound external.
 external_test/13: MissingRuntimeError # KernelVM bug: Unbound external.
 external_test/20: MissingRuntimeError # KernelVM bug: Unbound external.
-flatten_test/05: MissingRuntimeError
-flatten_test/08: MissingRuntimeError
-flatten_test/09: MissingRuntimeError
-flatten_test/12: MissingRuntimeError
-for_in_side_effects_test/01: MissingCompileTimeError
-function_propagation_test: RuntimeError
-function_subtype_inline2_test: RuntimeError
-generic_is_check_test: RuntimeError
 generic_no_such_method_dispatcher_simple_test: CompileTimeError # Issue 31533
 generic_no_such_method_dispatcher_test: CompileTimeError # Issue 31533
-generic_tearoff_test: CompileTimeError, RuntimeError
-if_null_evaluation_order_test: Pass
-instantiate_tearoff_of_call_test: CompileTimeError
-issue31596_super_test/01: CompileTimeError
-issue31596_super_test/03: CompileTimeError
-issue31596_super_test/05: RuntimeError
-least_upper_bound_expansive_test/none: CompileTimeError
 library_env_test/has_html_support: RuntimeError # KernelVM bug: Configurable imports.
 library_env_test/has_no_io_support: RuntimeError # KernelVM bug: Configurable imports.
-library_env_test/has_no_mirror_support: RuntimeError
-local_function2_test/none: RuntimeError
-local_function3_test/none: RuntimeError
-local_function_test/none: RuntimeError
-main_test/03: RuntimeError
-map_literal3_test/01: MissingCompileTimeError
-map_literal3_test/02: MissingCompileTimeError
-map_literal3_test/03: MissingCompileTimeError
-method_override4_test/01: MissingCompileTimeError
-method_override4_test/02: MissingCompileTimeError
-method_override4_test/03: MissingCompileTimeError
-method_override5_test/01: MissingCompileTimeError
-method_override5_test/02: MissingCompileTimeError
-method_override5_test/03: MissingCompileTimeError
-method_override6_test/01: MissingCompileTimeError
-method_override6_test/02: MissingCompileTimeError
-method_override6_test/03: MissingCompileTimeError
 mixin_illegal_super_use_test: Skip # Issues 24478 and 23773
 mixin_illegal_superclass_test: Skip # Issues 24478 and 23773
-named_parameters_default_eq_test/none: RuntimeError
-nested_generic_closure_test: RuntimeError
 no_main_test/01: Skip
-no_main_test/01: DartkCrash
 no_such_method_mock_test: RuntimeError # Issue 31426
 null_no_such_method_test: CompileTimeError # Issue 31533
 regress_22443_test: RuntimeError # KernelVM bug: Deferred loading kernel issue 30273.
@@ -975,19 +511,12 @@
 regress_30339_test: CompileTimeError # Issue 31402 (Variable declaration)
 string_interpolation_and_buffer_test: RuntimeError # Issue 31402 (Return and yield statements)
 super_bound_closure_test/none: CompileTimeError # Issue 31533
-super_call4_test/01: MissingCompileTimeError
-super_test: Fail, OK
-type_promotion_logical_and_test/01: MissingCompileTimeError
 type_promotion_more_specific_test/04: CompileTimeError # Issue 31533
 vm/bool_check_stack_traces_test/02: RuntimeError # Issue 33584
 vm/closure_memory_retention_test: Skip # KernelVM bug: Hits OOM
 vm/regress_29145_test: Skip # Issue 29145
-vm/type_cast_vm_test: RuntimeError
 web_int_literals_test/*: SkipByDesign # Test applies only to JavaScript targets
 
-[ $system == windows && ($compiler == dartk || $compiler == dartkb) ]
-ct_const2_test: Fail
-
 [ $checked && ($compiler == dartk || $compiler == dartkb) ]
 assertion_initializer_const_error2_test/cc01: Pass # Works in --checked mode but not in --strong mode.
 assertion_initializer_const_error2_test/cc02: Pass # Works in --checked mode but not in --strong mode.
@@ -1001,7 +530,7 @@
 assertion_initializer_const_error2_test/cc10: Pass # Works in --checked mode but not in --strong mode.
 
 [ $hot_reload_rollback && ($compiler == dartk || $compiler == dartkb) ]
-symbol_conflict_test: Pass, Slow
+symbol_conflict_test: Slow
 
 # Enabling of dartk for sim{arm,arm64,dbc64} revealed these test failures, which
 # are to be triaged.  Isolate tests are skipped on purpose due to the usage of
@@ -1025,10 +554,6 @@
 async_star_test/none: Skip # Timeout
 type_constants_test/none: Skip # Deferred libraries and hot reload.
 
-[ $compiler == dartk || $compiler == dartkb ]
-covariant_subtyping_test: RuntimeError
-redirecting_factory_reflection_test: RuntimeError
-
 [ $compiler == dartk || $compiler == dartkb || $compiler == dartkp ]
 generic_function_bounds_test: RuntimeError # Issue 32076
 
diff --git a/tests/language_2/lazy_spread_test.dart b/tests/language_2/lazy_spread_test.dart
index eedb957..62af46f 100644
--- a/tests/language_2/lazy_spread_test.dart
+++ b/tests/language_2/lazy_spread_test.dart
@@ -6,8 +6,6 @@
 // contain a spread.
 // Regression test for https://github.com/dart-lang/sdk/issues/36812
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 const b = bool.fromEnvironment("foo");
 
 main() {
diff --git a/tests/language_2/spread_collections/const_error_test.dart b/tests/language_2/spread_collections/const_error_test.dart
index 54548bc..e9fcfd2 100644
--- a/tests/language_2/spread_collections/const_error_test.dart
+++ b/tests/language_2/spread_collections/const_error_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 import 'dart:collection';
 
 import 'helper_classes.dart';
diff --git a/tests/language_2/spread_collections/const_test.dart b/tests/language_2/spread_collections/const_test.dart
index 9f09c54..a29b607 100644
--- a/tests/language_2/spread_collections/const_test.dart
+++ b/tests/language_2/spread_collections/const_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 import 'package:expect/expect.dart';
 
 // Typed as dynamic to also test spreading a value of type dynamic.
diff --git a/tests/language_2/unevaluated_field.dart b/tests/language_2/unevaluated_field.dart
index d674af5..3567a7c 100644
--- a/tests/language_2/unevaluated_field.dart
+++ b/tests/language_2/unevaluated_field.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Test that environment constants in field initializers work properly.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/osr_nonempty_stack_test.dart b/tests/language_2/vm/osr_nonempty_stack_test.dart
index d7c977a..9797e6e 100644
--- a/tests/language_2/vm/osr_nonempty_stack_test.dart
+++ b/tests/language_2/vm/osr_nonempty_stack_test.dart
@@ -2,8 +2,6 @@
 // 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.
 
-// SharedOptions=--enable-experiment=constant-update-2018
-
 // Test with OSR on non-empty stack (block expression).
 
 import 'dart:core';
diff --git a/tests/lib_2/lib_2.status b/tests/lib_2/lib_2.status
index 666063e..0d9adbc 100644
--- a/tests/lib_2/lib_2.status
+++ b/tests/lib_2/lib_2.status
@@ -7,7 +7,7 @@
 convert/utf85_test: Skip # Pass, Slow Issue 20111.
 
 [ $arch == simarmv5te ]
-mirrors/mirrors_reader_test: Pass, Slow
+mirrors/mirrors_reader_test: Slow
 
 [ $mode == product ]
 developer/timeline_test: Skip # Not supported
@@ -21,74 +21,44 @@
 mirrors/mirrors_reader_test: Timeout, Slow, RuntimeError # Issue 16589
 
 [ $runtime == ie11 ]
-html/audiobuffersourcenode_test/supported: Fail
-html/audiocontext_test/supported: Fail
 html/canvasrenderingcontext2d_test/arc: Pass, Fail # Pixel unexpected value. Please triage this failure.
 html/canvasrenderingcontext2d_test/drawImage_video_element: Fail # IE does not support drawImage w/ video element
 html/canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # IE does not support drawImage w/ video element
-html/crypto_test/supported: Fail
-html/css_test/supportsPointConversions: Fail
 html/custom/document_register_type_extensions_test/single-parameter: Fail # Issue 13193.
 html/element_animate_test: Fail # Element.animate not supported on these browsers.
 html/element_test/click: Fail # IE does not support firing this event.
 html/event_test: RuntimeError # Issue 23437. Only three failures, but hard to break them out.
-html/fileapi_supported_test: Fail
 html/gamepad_test: Fail # IE does not support Navigator.getGamepads()
-html/history_hash_change_test: Fail
 html/indexeddb_5_test: Fail # Issue 12893
-html/input_element_date_test: Fail
-html/input_element_datetime_test: Fail
-html/input_element_month_test: Fail
-html/input_element_time_test: Fail
-html/input_element_week_test: Fail
 html/js_transferrables_test: RuntimeError # Issue 14246
 html/js_util_test/callConstructor: RuntimeError # Issue 26978
 html/localstorage_test: Pass, RuntimeError # Issue 22166
-html/media_stream_test: Pass, Fail
 html/mediasource_test: Pass, Fail # Windows 8: Supported: yes, functional: no
 html/notification_test: Fail # Notification not supported on IE
 html/postmessage_structured_test: Fail # Does not support the MessageEvent constructor.
 html/request_animation_frame_test: Skip # Times out. Issue 22167
-html/rtc_test: Fail
-html/serialized_script_value_test: Fail
-html/shadow_dom_test: Fail
-html/speechrecognition_test: Fail
 html/storage_test: Pass, RuntimeError # Issue 22166
-html/svgelement_test: Fail
 html/text_event_test: RuntimeError # Issue 23437
 html/touchevent_test: Fail # IE does not support TouchEvents
 html/transferables_test: Pass, Fail # Issues 20659.
 html/transition_event_test: Skip # Times out. Issue 22167
-html/webgl_1_test: Fail
 html/websocket_test: Fail # Issue 7875. Closed with "working as intended".
-html/websql_test: Fail
 html/wheelevent_test: RuntimeError # Issue 23437
 html/worker_test/functional: Pass, Fail # Issues 20659.
 html/xhr_test/json: Fail # IE10 returns string, not JSON object
 
 [ $runtime == safari ]
-html/audiobuffersourcenode_test/functional: RuntimeError
 html/canvasrenderingcontext2d_test/drawImage_video_element: Fail # Safari does not support drawImage w/ video element
 html/canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # Safari does not support drawImage w/ video element
 html/element_animate_test: Fail # Element.animate not supported on these browsers.
 html/element_test: Pass, Fail # Issue 21434
-html/fileapi_supported_test: Fail
 html/gamepad_test: Fail # Safari does not support Navigator.getGamepads()
 html/indexeddb_1_test/functional: Skip # Times out. Issue 21433
 html/indexeddb_2_test: RuntimeError # Issue 21433
 html/indexeddb_3_test: Skip # Times out 1 out of 10.
 html/indexeddb_4_test: RuntimeError # Issue 21433
 html/indexeddb_5_test: RuntimeError # Issue 21433
-html/input_element_date_test: Fail
-html/input_element_datetime_test: Fail
-html/input_element_month_test: RuntimeError
-html/input_element_time_test: RuntimeError
-html/input_element_week_test: RuntimeError
-html/media_stream_test: Pass, Fail
 html/mediasource_test: Pass, Fail # MediaSource only available on Safari 8 desktop, we can't express that.
-html/rtc_test: Fail
-html/shadow_dom_test: Fail
-html/speechrecognition_test: Fail
 html/webgl_1_test: Pass, Fail # Issue 8219
 html/worker_api_test: Skip # Issue 13221
 typed_data/float32x4_test: Fail, Pass # Safari has an optimization bug (nightlies are already fine).
@@ -126,14 +96,10 @@
 mirrors/load_library_test: RuntimeError, OK # Deferred loaded eagerly
 
 [ $compiler == none && !$checked ]
-mirrors/redirecting_factory_different_type_test/none: RuntimeError
 mirrors/reflected_type_generics_test/02: Fail, OK # Type check for a bounded type argument.
 
-[ $compiler == none && !$fasta ]
-mirrors/abstract_class_test: RuntimeError
-
 [ $runtime == chrome && $system == linux ]
-mirrors/native_class_test: Pass, Slow
+mirrors/native_class_test: Slow
 
 [ $runtime == chrome && $system == macos ]
 async/catch_errors11_test: Pass, Timeout # Issue 22696
diff --git a/tests/lib_2/lib_2_analyzer.status b/tests/lib_2/lib_2_analyzer.status
index a461729..85a2a1d 100644
--- a/tests/lib_2/lib_2_analyzer.status
+++ b/tests/lib_2/lib_2_analyzer.status
@@ -7,8 +7,4 @@
 html/js_function_getter_trust_types_test: Skip # dart2js specific flags.
 html/js_typed_interop_default_arg_test/default_value: MissingCompileTimeError # Issue #25759
 mirrors/deferred_type_test: CompileTimeError, OK # Deliberately refers to a deferred type in a declaration.
-mirrors/generic_f_bounded_mixin_application_test: CompileTimeError
-mirrors/mirrors_nsm_mismatch_test: CompileTimeError, OK
-mirrors/mirrors_nsm_test: CompileTimeError, OK
-mirrors/mirrors_nsm_test/dart2js: CompileTimeError, OK
 mirrors/repeated_private_anon_mixin_app_test: CompileTimeError, OK # Intentional library name conflict.
diff --git a/tests/lib_2/lib_2_kernel.status b/tests/lib_2/lib_2_kernel.status
index 8fb892d..531e3d4 100644
--- a/tests/lib_2/lib_2_kernel.status
+++ b/tests/lib_2/lib_2_kernel.status
@@ -11,11 +11,6 @@
 isolate/non_fatal_exception_in_timer_callback_test: Pass, Fail # Issue 34724
 mirrors/dynamic_load_test: Fail # Issue 32187
 
-[ $compiler == app_jitk ]
-async/slow_consumer2_test: RuntimeError
-async/stream_distinct_test: RuntimeError
-async/timer_not_available_test: RuntimeError
-
 [ $compiler == dartkb ]
 convert/streamed_conversion_json_utf8_decode_test: Pass, Timeout # Please triage.
 isolate/isolate_complex_messages_test: Pass, Crash # runtime/vm/object.cc: 17395: error: expected: type_arguments.IsNull() || type_arguments.IsCanonical()
@@ -25,22 +20,11 @@
 
 [ $compiler == fasta ]
 html/*: Skip # TODO(ahe): Make dart:html available.
-isolate/isolate_stress_test: CompileTimeError
 js/*: Skip # TODO(ahe): Make dart:js available.
-mirrors/deferred_type_test: CompileTimeError
-mirrors/metadata_allowed_values_test/02: MissingCompileTimeError
-mirrors/metadata_allowed_values_test/27: MissingCompileTimeError
-mirrors/metadata_constructor_arguments_test/04: MissingCompileTimeError
-mirrors/mirrors_nsm_mismatch_test: CompileTimeError
-mirrors/mirrors_nsm_test/dart2js: CompileTimeError
-mirrors/mirrors_nsm_test/none: CompileTimeError
-mirrors/native_class_test: CompileTimeError
 
 [ $fasta ]
 async/future_or_type_test: CompileTimeError # Issue 34626
 mirrors/generic_f_bounded_mixin_application_test: CompileTimeError # Issue 34613
-mirrors/metadata_allowed_values_test/13: MissingCompileTimeError
-mirrors/metadata_allowed_values_test/14: MissingCompileTimeError
 mirrors/redirecting_factory_test/01: CompileTimeError # Issue 34714
 mirrors/redirecting_factory_test/none: CompileTimeError # Issue 34714
 
@@ -77,13 +61,10 @@
 # ===== dartkp + dart_precompiled status lines =====
 [ $compiler == dartkp && $runtime == dart_precompiled ]
 async/slow_consumer2_test: RuntimeError # Issue 31402 (Invocation arguments)
-async/stream_distinct_test: RuntimeError
-async/timer_not_available_test: RuntimeError
 html/*: SkipByDesign # dart:html not supported on VM.
 isolate/deferred_in_isolate2_test: Skip # Times out. Deferred loading kernel issue 28335.
 isolate/deferred_in_isolate_test: Skip # Times out. Deferred loading kernel issue 28335.
 isolate/issue_21398_parent_isolate2_test/01: Skip # Times out. Deferred loading kernel issue 28335.
-isolate/spawn_uri_nested_vm_test: Pass, Timeout
 mirrors/*: SkipByDesign # Mirrors are not supported in AOT mode.
 
 [ $mode == debug && $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
@@ -94,39 +75,23 @@
 
 [ $runtime == vm && $checked && ($compiler == dartk || $compiler == dartkb) ]
 mirrors/redirecting_factory_different_type_test/none: RuntimeError # Issue 28424
-mirrors/reflected_type_generics_test/02: Pass
 
 # ===== dartk + vm status lines =====
 [ $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
 async/slow_consumer2_test: CompileTimeError # Issue 31402 (Invocation arguments)
-async/timer_not_available_test: RuntimeError
 html/*: SkipByDesign # dart:html not supported on VM.
 isolate/deferred_in_isolate2_test: Skip # Times out. Deferred loading kernel issue 28335.
 isolate/deferred_in_isolate_test: Skip # Times out. Deferred loading kernel issue 28335.
 isolate/issue_21398_parent_isolate2_test/01: Skip # Times out. Deferred loading kernel issue 28335.
-isolate/spawn_uri_nested_vm_test: Pass, Timeout
 isolate/static_function_test: Skip # Times out. Issue 31855. CompileTimeError. Issue 31402
-mirrors/apply3_test: RuntimeError
 mirrors/class_declarations_test/01: RuntimeError # Issue 31402 (Invocation arguments)
 mirrors/class_declarations_test/none: RuntimeError # Issue 31402 (Invocation arguments)
-mirrors/class_mirror_location_test: RuntimeError
-mirrors/constructor_kinds_test/01: RuntimeError
-mirrors/constructor_kinds_test/none: RuntimeError
 mirrors/constructor_private_name_test: RuntimeError # Issue 33345 - Incorrect qualified symbol literal from kernel reader
 mirrors/constructors_test: CompileTimeError # Issue 31402 (Invocation arguments)
 mirrors/dart2js_mirrors_test: RuntimeError # 31916
-mirrors/deferred_type_test: CompileTimeError, RuntimeError
 mirrors/enum_test: RuntimeError # Issue 31402 (Invocation arguments)
-mirrors/equality_test: RuntimeError
-mirrors/fake_function_without_call_test: RuntimeError, OK
-mirrors/function_apply_test: RuntimeError, OK
-mirrors/function_type_mirror_test: RuntimeError
-mirrors/generic_f_bounded_mixin_application_test: RuntimeError
-mirrors/generic_function_typedef_test: RuntimeError
-mirrors/generic_mixin_applications_test: RuntimeError
-mirrors/invocation_fuzz_test: RuntimeError, Crash
+mirrors/invocation_fuzz_test: Crash
 mirrors/library_declarations_test/none: RuntimeError # Issue 31402 (Invocation arguments)
-mirrors/library_enumeration_deferred_loading_test: RuntimeError
 mirrors/library_exports_hidden_test: RuntimeError # Issue 33098
 mirrors/library_exports_shown_test: RuntimeError # Issue 33098
 mirrors/library_import_deferred_loading_test: RuntimeError # Issue 33098
@@ -136,20 +101,13 @@
 mirrors/library_imports_prefixed_show_hide_test: RuntimeError # Issue 33098
 mirrors/library_imports_prefixed_test: RuntimeError # Issue 33098
 mirrors/library_imports_shown_test: RuntimeError # Issue 33098
-mirrors/load_library_test: RuntimeError
 mirrors/metadata_allowed_values_test/16: Skip # Flaky, crashes.
-mirrors/metadata_scope_test/none: RuntimeError
-mirrors/method_mirror_location_test: RuntimeError
 mirrors/method_mirror_source_line_ending_test: RuntimeError # Issue 33478
 mirrors/method_mirror_source_test: RuntimeError # Issue 33041
 mirrors/mirrors_nsm_mismatch_test: CompileTimeError # Issue 31533
 mirrors/mirrors_nsm_test/dart2js: CompileTimeError # Issue 31533
 mirrors/mirrors_nsm_test/none: CompileTimeError # Issue 31533
-mirrors/mirrors_test: RuntimeError
 mirrors/mirrors_used*: SkipByDesign # Invalid tests. MirrorsUsed does not have a specification, and dart:mirrors is not required to hide declarations that are not covered by any MirrorsUsed annotation.
-mirrors/mirrors_used_inheritance_test: RuntimeError
-mirrors/mirrors_used_typedef_declaration_test/01: RuntimeError
-mirrors/mirrors_used_typedef_declaration_test/none: RuntimeError
 mirrors/mixin_application_test: RuntimeError # Issue 31402 (Invocation arguments)
 mirrors/mixin_members_test: CompileTimeError # Issue 31402 (Invocation arguments)
 mirrors/native_class_test: SkipByDesign # Imports dart:html
@@ -158,34 +116,12 @@
 mirrors/parameter_of_mixin_app_constructor_test: RuntimeError # Issue 31402 (Invocation arguments)
 mirrors/private_symbol_test: RuntimeError # Issue 33326 - CFE/kernel invalid typedef substitution
 mirrors/private_types_test: RuntimeError # Issue 33326 - CFE/kernel invalid typedef substitution
-mirrors/redirecting_factory_test/01: RuntimeError
-mirrors/redirecting_factory_test/none: RuntimeError
-mirrors/reflect_class_test/none: RuntimeError
-mirrors/reflected_type_function_type_test: RuntimeError
-mirrors/reflected_type_generics_test/01: RuntimeError
-mirrors/reflected_type_generics_test/02: RuntimeError
-mirrors/reflected_type_typedefs_test: RuntimeError
-mirrors/reflected_type_typevars_test: RuntimeError
-mirrors/regress_26187_test: RuntimeError
-mirrors/relation_assignable_test: RuntimeError
-mirrors/relation_subclass_test: RuntimeError
-mirrors/relation_subtype_test: RuntimeError
 mirrors/repeated_private_anon_mixin_app_test: RuntimeError # Mangled mixin application class name
 mirrors/static_members_easier_test: RuntimeError # Issue 31402 (Invocation arguments)
 mirrors/static_members_test: RuntimeError # Issue 31402 (Invocation arguments)
 mirrors/symbol_validation_test/01: RuntimeError # Issue 31537
 mirrors/symbol_validation_test/none: RuntimeError # Issue 31537
-mirrors/type_variable_is_static_test: RuntimeError
-mirrors/type_variable_owner_test/01: RuntimeError
 mirrors/typedef_deferred_library_test: CompileTimeError # Deferred loading kernel issue 28335.
-mirrors/typedef_deferred_library_test: RuntimeError
-mirrors/typedef_in_signature_test: RuntimeError
-mirrors/typedef_library_test: RuntimeError
-mirrors/typedef_metadata_test: RuntimeError
-mirrors/typedef_reflected_type_test/01: RuntimeError
-mirrors/typedef_reflected_type_test/none: RuntimeError
-mirrors/typedef_test: RuntimeError
-mirrors/typevariable_mirror_metadata_test: RuntimeError
 
 [ $hot_reload_rollback && ($compiler == dartk || $compiler == dartkb) ]
 isolate/illegal_msg_function_test: Skip # Timeout
@@ -210,21 +146,6 @@
 
 [ $compiler == dartk || $compiler == dartkb ]
 async/slow_consumer2_test: RuntimeError # Issue 31402 (Invocation arguments)
-async/stream_distinct_test: RuntimeError
-isolate/request_reply_test: Pass, Timeout
-isolate/stacktrace_message_test: RuntimeError
-mirrors/constructor_optional_args_test: RuntimeError
-mirrors/constructors_test: RuntimeError
-mirrors/fake_function_with_call_test: RuntimeError
-mirrors/instance_members_easier_test: RuntimeError
-mirrors/instance_members_test: RuntimeError
-mirrors/instance_members_with_override_test: RuntimeError
-mirrors/invoke_closurization2_test: RuntimeError
-mirrors/invoke_throws_test: RuntimeError
-mirrors/mixin_members_test: RuntimeError
-mirrors/operator_test: RuntimeError
-mirrors/redirecting_factory_different_type_test/none: RuntimeError
-mirrors/redirecting_factory_reflection_test: RuntimeError
 
 [ $hot_reload || $hot_reload_rollback ]
 isolate/issue_6610_test: Skip # Sources are looked up on every reload request.
diff --git a/tests/modular/constants_2018/modules.yaml b/tests/modular/constants_2018/modules.yaml
index e5a6190..02519fa 100644
--- a/tests/modular/constants_2018/modules.yaml
+++ b/tests/modular/constants_2018/modules.yaml
@@ -6,5 +6,3 @@
 # after serialization across modules.
 dependencies:
   main: [def, expect]
-flags:
-  - constant-update-2018
diff --git a/tests/modular/int_js_number/modules.yaml b/tests/modular/int_js_number/modules.yaml
index e8cdeea..a02b69a 100644
--- a/tests/modular/int_js_number/modules.yaml
+++ b/tests/modular/int_js_number/modules.yaml
@@ -6,5 +6,3 @@
 # after serialization across modules.
 dependencies:
   main: def
-flags:
-  - constant-update-2018
diff --git a/tests/modular/issue37794/modules.yaml b/tests/modular/issue37794/modules.yaml
index c4954a9..fc4b66e 100644
--- a/tests/modular/issue37794/modules.yaml
+++ b/tests/modular/issue37794/modules.yaml
@@ -5,5 +5,3 @@
 dependencies:
   main: [module1, module2, expect]
   module2: [module1]
-flags:
-  - constant-update-2018
\ No newline at end of file
diff --git a/tests/modular/nested_constants/modules.yaml b/tests/modular/nested_constants/modules.yaml
index 61a7504..1d3752c 100644
--- a/tests/modular/nested_constants/modules.yaml
+++ b/tests/modular/nested_constants/modules.yaml
@@ -6,5 +6,3 @@
 # module context.
 dependencies:
   main: [def, expect]
-flags:
-  - constant-update-2018
diff --git a/tests/standalone_2/standalone_2.status b/tests/standalone_2/standalone_2.status
index e92168c..6754a30 100644
--- a/tests/standalone_2/standalone_2.status
+++ b/tests/standalone_2/standalone_2.status
@@ -23,8 +23,7 @@
 packages_file_test/none: Skip # contains no tests.
 
 [ $builder_tag == asan ]
-io/named_pipe_script_test: RuntimeError
-io/process_detached_test: Pass, Slow
+io/process_detached_test: Slow
 
 [ $builder_tag == no_ipv6 ]
 io/http_ipv6_test: SkipByDesign
@@ -70,10 +69,6 @@
 [ $builder_tag == swarming && $system == macos ]
 io/*: Skip # Issue 30618
 
-# All static_tests have expected compile-time errors.
-[ $compiler != app_jitk && $compiler != dart2analyzer && $compiler != dartdevc && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $runtime != none ]
-float_array_static_test: MissingCompileTimeError
-
 [ $compiler == none && $runtime == vm && $system == fuchsia ]
 *: Skip # Not yet triaged.
 
@@ -107,13 +102,6 @@
 [ $compiler == dart2js || $compiler == dartdevc || $compiler == dartdevk ]
 *: SkipByDesign
 
-[ $compiler == dartk || $compiler == dartkb || $compiler == dartkp ]
-io/file_error_test: RuntimeError
-io/file_test: RuntimeError
-io/regress_10026_test: RuntimeError
-io/web_socket_pipe_test: RuntimeError
-io/zlib_test: RuntimeError
-
 [ $mode == product || $runtime == dart_precompiled ]
 no_assert_test: SkipByDesign
 
@@ -122,12 +110,10 @@
 io/https_client_certificate_test: RuntimeError # Issue 24070 Failures in secure networking while NSS is replaced with BoringSSL
 io/non_utf8_output_test: NonUtf8Output, OK # This test checks that the test runner correctly detects and reports non-utf8 output from a test.
 io/secure_socket_bad_data_test: RuntimeError # An error in a secure connection just puts a READ_CLOSED on the stream, rather than signaling an error on the stream.
-io/secure_socket_renegotiate_test: RuntimeError
 package/package_isolate_test: Fail # Issue 12474
 package/scenarios/invalid/same_package_twice_test: Pass # Issue 24119
 
 [ $hot_reload || $hot_reload_rollback ]
-deferred_transitive_import_error_test: Crash
 fragmentation_test: Pass, Crash # Issue 31421
 io/addlatexhash_test: Pass, Crash # Issue 31252
 io/many_directory_operations_test: SkipSlow
diff --git a/tests/standalone_2/standalone_2_analyzer.status b/tests/standalone_2/standalone_2_analyzer.status
index a5b12fb..df9b617 100644
--- a/tests/standalone_2/standalone_2_analyzer.status
+++ b/tests/standalone_2/standalone_2_analyzer.status
@@ -4,19 +4,11 @@
 
 [ $compiler == dart2analyzer ]
 deferred_transitive_import_error_test: Skip # Contains intentional errors.
-io/directory_invalid_arguments_test: CompileTimeError
 io/process_exit_negative_test: Skip
-io/process_invalid_arguments_test: CompileTimeError
-io/raw_secure_server_socket_argument_test: CompileTimeError
-io/stdout_bad_argument_test: CompileTimeError
-package/package_isolate_test: CompileTimeError
-package/scenarios/both_dir_and_file/prefers_packages_file_test: CompileTimeError
 package/scenarios/invalid/invalid_package_name_test: Crash, OK # Analyzer exits on invalid package config
 package/scenarios/invalid/invalid_utf8_test: Crash, OK # Analyzer exits on invalid package config
 package/scenarios/invalid/non_existent_packages_file_test: Crash, OK # Analyzer exits on invalid package config
 package/scenarios/invalid/same_package_twice_test: Crash, OK # Analyzer exits on invalid package config
-package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test: CompileTimeError
-package/scenarios/packages_file_only/packages_file_only_test: CompileTimeError
 
 [ $compiler == dart2analyzer && $system == windows ]
 package/scenarios/empty_packages_file/empty_packages_file_option_test: Crash, Pass # Issue 28645
diff --git a/tests/standalone_2/standalone_2_kernel.status b/tests/standalone_2/standalone_2_kernel.status
index 5c31cdf..dc7698b 100644
--- a/tests/standalone_2/standalone_2_kernel.status
+++ b/tests/standalone_2/standalone_2_kernel.status
@@ -14,16 +14,6 @@
 io/signals_test: Fail # Issue 34724
 io/test_extension_fail_test: Fail # Issue 32187
 
-[ $compiler == app_jitk ]
-io/file_error_test: RuntimeError
-io/file_test: RuntimeError
-io/platform_test: RuntimeError
-io/regress_10026_test: RuntimeError
-io/test_extension_fail_test: RuntimeError
-io/test_extension_test: RuntimeError
-io/web_socket_pipe_test: RuntimeError
-io/zlib_test: RuntimeError
-
 [ $compiler == dartkb ]
 io/dart_std_io_pipe_test: Pass, Timeout # Please triage
 io/platform_test: RuntimeError # Platform.script points to dill file.
@@ -35,15 +25,6 @@
 [ $system == android ]
 entrypoints_verification_test: Skip # Requires shared objects which the test script doesn't "adb push".
 
-[ $fasta ]
-deferred_transitive_import_error_test: CompileTimeError
-package/package1_test: CompileTimeError
-package/package_isolate_test: CompileTimeError
-package/package_test: CompileTimeError
-package/scenarios/invalid/invalid_utf8_test: CompileTimeError
-package/scenarios/invalid/non_existent_packages_file_test: CompileTimeError
-package/scenarios/invalid/same_package_twice_test: CompileTimeError
-
 [ $arch == ia32 && $builder_tag == optimization_counter_threshold ]
 io/file_lock_test: SkipSlow # Timeout
 
@@ -51,7 +32,7 @@
 io/dart_std_io_pipe_test: Timeout, Pass # Issue 34723
 
 [ $arch == simarm64 && ($compiler == dartk || $compiler == dartkb) ]
-io/http_bind_test: Pass, Slow
+io/http_bind_test: Slow
 
 [ $arch == x64 && $builder_tag == asan && $compiler == dartk ]
 io/file_test: Fail # Memory leak (issue 34724)
@@ -64,18 +45,14 @@
 
 [ $compiler == dartkp && $mode == debug && $runtime == dart_precompiled ]
 io/raw_socket_test: Crash
-io/socket_exception_test: Pass, Crash
-io/socket_finalizer_test: Pass, Crash
-io/socket_info_ipv4_test: Pass, Crash
-io/socket_info_ipv6_test: Pass, Crash
-io/socket_port_test: Pass, Crash
-
-[ $compiler == dartkp && $mode == product && $runtime == dart_precompiled ]
-io/compile_all_test: Pass
+io/socket_exception_test: Crash
+io/socket_finalizer_test: Crash
+io/socket_info_ipv4_test: Crash
+io/socket_info_ipv6_test: Crash
+io/socket_port_test: Crash
 
 [ $compiler == dartkp && $runtime == dart_precompiled ]
 io/compile_all_test: Skip # We do not support --compile-all for precompilation
-io/file_fuzz_test: RuntimeError, Pass
 io/http_client_connect_test: Skip # Flaky.
 io/http_content_length_test: Skip # Flaky.
 io/http_proxy_advanced_test: Skip # Flaky
@@ -100,36 +77,27 @@
 io/web_socket_test: Skip # Flaky.
 map_insert_remove_oom_test: Skip # Heap limit too low.
 no_support_debugger_test: Skip # kernel-service snapshot not compatible with flag disabled
-regress_29350_test: MissingCompileTimeError
 regress_29350_test/none: Pass # Issue 31537
 
-# ===== dartkp + dart_precompiled status lines =====
-[ $compiler == dartkp && $runtime == dart_precompiled && $system != windows ]
-io/namespace_test: RuntimeError
-
 [ $mode == debug && $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
-io/file_lock_test: Slow, Pass
+io/file_lock_test: Slow
 io/raw_socket_test: Crash
-io/socket_exception_test: Pass, Crash
-io/socket_finalizer_test: Pass, Crash
-io/socket_info_ipv4_test: Pass, Crash
-io/socket_info_ipv6_test: Pass, Crash
-io/socket_port_test: Pass, Crash
+io/socket_exception_test: Crash
+io/socket_finalizer_test: Crash
+io/socket_info_ipv4_test: Crash
+io/socket_info_ipv6_test: Crash
+io/socket_port_test: Crash
 
 [ $mode == debug && $hot_reload && ($compiler == dartk || $compiler == dartkb) ]
-io/web_socket_ping_test: Crash, Pass
+io/web_socket_ping_test: Crash
 
 [ $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
-io/http_client_request_test: Pass, Timeout
-io/secure_builtin_roots_test: Pass, Timeout
-io/socket_finalizer_test: Pass, Timeout
 no_support_debugger_test: Skip # kernel-service snapshot not compatible with flag disabled
-regress_29350_test: MissingCompileTimeError
 regress_29350_test/none: Pass # Issue 31537
 
 [ $system == windows && ($compiler == dartk || $compiler == dartkb) ]
 io/compile_all_test: Pass, Fail # Possibly related to issue 32373
-io/dart_std_io_pipe_test: Pass, Slow
+io/dart_std_io_pipe_test: Slow
 io/secure_builtin_roots_test: Skip # Issues 32137 and 32138.
 io/test_extension_fail_test: RuntimeError, Pass # Issue 32137.
 io/test_extension_test: RuntimeError, Pass # Issue 32137.
@@ -137,24 +105,21 @@
 map_insert_remove_oom_test: Skip # Heap limit too low.
 
 [ $hot_reload && ($compiler == dartk || $compiler == dartkb) ]
-io/http_no_reason_phrase_test: Pass, Crash
-io/http_outgoing_size_test: Pass, Crash
+io/http_no_reason_phrase_test: Crash
+io/http_outgoing_size_test: Crash
 
 [ $hot_reload_rollback && ($compiler == dartk || $compiler == dartkb) ]
 io/directory_chdir_test: Skip # Timeout
-io/echo_server_stream_test: Pass, Slow
+io/echo_server_stream_test: Slow
 
 # Enabling of dartk for sim{arm,arm64,dbc64} revealed these test failures, which
 # are to be triaged.  Isolate tests are skipped on purpose due to the usage of
 # batch mode.
 [ ($arch == simarm || $arch == simarm64 || $arch == simdbc64) && ($compiler == dartk || $compiler == dartkb) ]
-fragmentation_test: Timeout, Pass
-io/dart_std_io_pipe_test: Timeout, Pass
 io/directory_list_sync_test: Timeout, Pass # Please triage.
 io/file_blocking_lock_test: Pass, Crash # Please triage.
-io/file_lock_test: Slow, Pass
+io/file_lock_test: Slow
 io/platform_test: RuntimeError # Platform.script points to dill file.
-io/process_sync_test: Timeout, Pass
 io/test_extension_fail_test: RuntimeError # Platform.script points to dill file.
 io/test_extension_test: RuntimeError # Platform.script points to dill file.
 map_insert_remove_oom_test: Skip # Heap limit too low.
@@ -167,9 +132,6 @@
 io/http_basic_test: Pass, Timeout # Issue 28046
 io/http_proxy_advanced_test: Skip # Timeout
 io/http_read_test: Skip # Timeout
-io/non_utf8_directory_test: Pass, Timeout
-io/non_utf8_file_test: Pass, Timeout
-io/non_utf8_link_test: Pass, Timeout
 io/pipe_server_test: Skip # Timeout
 io/socket_close_test: Skip # Timeout
 io/socket_many_connections_test: Skip # Timeout
diff --git a/third_party/.gitignore b/third_party/.gitignore
index 28a6f8a..0bd8a83 100644
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -12,5 +12,6 @@
 !clang.tar.gz.sha1
 !unittest.tar.gz.sha1
 !update.sh
+!/wasmer
 # but ignore a subfolder of tcmalloc (some client ignores /tcmalloc/.gitignore)
 /tcmalloc/gperftools
diff --git a/third_party/wasmer/.gitignore b/third_party/wasmer/.gitignore
new file mode 100644
index 0000000..86a9394
--- /dev/null
+++ b/third_party/wasmer/.gitignore
@@ -0,0 +1,2 @@
+!*
+Cargo.lock
diff --git a/third_party/wasmer/BUILD.gn b/third_party/wasmer/BUILD.gn
new file mode 100644
index 0000000..09093b6
--- /dev/null
+++ b/third_party/wasmer/BUILD.gn
@@ -0,0 +1,10 @@
+import("//build/rust/rust.gni")
+
+component("wasmer") {
+  public = [ "wasmer.hh" ]
+  deps = [ ":wasmer_lib" ]
+}
+
+rust_library("wasmer_lib") {
+  lib_name = "wasmer"
+}
diff --git a/third_party/wasmer/Cargo.toml b/third_party/wasmer/Cargo.toml
new file mode 100644
index 0000000..6253430
--- /dev/null
+++ b/third_party/wasmer/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "wasmer"
+version = "0.6.0"
+
+[lib]
+name = "wasmer"
+crate-type = ["staticlib"]
+path = "wasmer.rs"
+
+[dependencies]
+wasmer-runtime-c-api = "0.6.0"
diff --git a/third_party/wasmer/LICENSE b/third_party/wasmer/LICENSE
new file mode 100644
index 0000000..079740d
--- /dev/null
+++ b/third_party/wasmer/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 Wasmer, Inc. and its affiliates.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/third_party/wasmer/README.google b/third_party/wasmer/README.google
new file mode 100644
index 0000000..aec1896
--- /dev/null
+++ b/third_party/wasmer/README.google
@@ -0,0 +1,11 @@
+Name: Wasmer Runtime C API
+Short Name: wasmer
+URL: https://github.com/wasmerio/wasmer/tree/master/lib/runtime-c-api
+Version: 0.6.0
+Date: August 16, 2019
+License: MIT
+
+Description:
+This directory contains an unmodified copy of wasmer.hh from the Wasmer Runtime
+C API (and README.md and LICENCE). Other files in this directory are added to
+build the corresponding rust library.
diff --git a/third_party/wasmer/README.md b/third_party/wasmer/README.md
new file mode 100644
index 0000000..1e741cf
--- /dev/null
+++ b/third_party/wasmer/README.md
@@ -0,0 +1,132 @@
+<p align="center">
+  <a href="https://wasmer.io" target="_blank" rel="noopener noreferrer">
+    <img width="400" src="https://raw.githubusercontent.com/wasmerio/wasmer/master/logo.png" alt="Wasmer logo">
+  </a>
+</p>
+
+<p align="center">
+  <a href="https://circleci.com/gh/wasmerio/wasmer/">
+    <img src="https://img.shields.io/circleci/project/github/wasmerio/wasmer/master.svg" alt="Build Status">
+  </a>
+  <a href="https://github.com/wasmerio/wasmer/blob/master/LICENSE">
+    <img src="https://img.shields.io/github/license/wasmerio/wasmer.svg" alt="License">
+  </a>
+  <a href="https://spectrum.chat/wasmer">
+    <img src="https://withspectrum.github.io/badge/badge.svg" alt="Join the Wasmer Community">
+  </a>
+  <a href="https://crates.io/crates/wasmer-runtime-c-api">
+    <img src="https://img.shields.io/crates/d/wasmer-runtime-c-api.svg" alt="Number of downloads from crates.io">
+  </a>
+  <a href="https://docs.rs/wasmer-runtime-c-api">
+    <img src="https://docs.rs/wasmer-runtime-c-api/badge.svg" alt="Read our API documentation">
+  </a>
+</p>
+
+# Wasmer Runtime C API
+
+Wasmer is a standalone JIT WebAssembly runtime, aiming to be fully
+compatible with Emscripten, Rust and Go. [Learn
+more](https://github.com/wasmerio/wasmer).
+
+This crate exposes a C and a C++ API for the Wasmer runtime.
+
+# Usage
+
+The C and C++ header files can be found in the source tree of this
+crate, respectively [`wasmer.h`][wasmer_h] and
+[`wasmer.hh`][wasmer_hh]. They are automatically generated, and always
+up-to-date in this repository.
+
+Here is a simple example to use the C API:
+
+```c
+#include <stdio.h>
+#include "../wasmer.h"
+#include <assert.h>
+#include <stdint.h>
+
+int main()
+{
+    // Read the Wasm file bytes.
+    FILE *file = fopen("sum.wasm", "r");
+    fseek(file, 0, SEEK_END);
+    long len = ftell(file);
+    uint8_t *bytes = malloc(len);
+    fseek(file, 0, SEEK_SET);
+    fread(bytes, 1, len, file);
+    fclose(file);
+
+    // Prepare the imports.
+    wasmer_import_t imports[] = {};
+
+    // Instantiate!
+    wasmer_instance_t *instance = NULL;
+    wasmer_result_t instantiation_result = wasmer_instantiate(&instance, bytes, len, imports, 0);
+
+    assert(instantiation_result == WASMER_OK);
+
+    // Let's call a function.
+    // Start by preparing the arguments.
+
+    // Value of argument #1 is `7i32`.
+    wasmer_value_t argument_one;
+    argument_one.tag = WASM_I32;
+    argument_one.value.I32 = 7;
+
+    // Value of argument #2 is `8i32`.
+    wasmer_value_t argument_two;
+    argument_two.tag = WASM_I32;
+    argument_two.value.I32 = 8;
+
+    // Prepare the arguments.
+    wasmer_value_t arguments[] = {argument_one, argument_two};
+
+    // Prepare the return value.
+    wasmer_value_t result_one;
+    wasmer_value_t results[] = {result_one};
+
+    // Call the `sum` function with the prepared arguments and the return value.
+    wasmer_result_t call_result = wasmer_instance_call(instance, "sum", arguments, 2, results, 1);
+
+    // Let's display the result.
+    printf("Call result:  %d\n", call_result);
+    printf("Result: %d\n", results[0].value.I32);
+
+    // `sum(7, 8) == 15`.
+    assert(results[0].value.I32 == 15);
+    assert(call_result == WASMER_OK);
+
+    wasmer_instance_destroy(instance);
+
+    return 0;
+}
+```
+
+# Testing
+
+The tests can be run via `cargo test`, such as:
+
+```sh
+$ cargo test -- --nocapture
+```
+
+To run tests manually, enter the `lib/runtime-c-api/tests` directory
+and run the following commands:
+
+```sh
+$ cmake .
+$ make
+$ make test
+```
+
+
+# License
+
+Wasmer is primarily distributed under the terms of the [MIT
+license][mit-license] ([LICENSE][license]).
+
+
+[wasmer_h]: ./wasmer.h
+[wasmer_hh]: ./wasmer.hh
+[mit-license]: http://opensource.org/licenses/MIT
+[license]: https://github.com/wasmerio/wasmer/blob/master/LICENSE
diff --git a/third_party/wasmer/wasmer.hh b/third_party/wasmer/wasmer.hh
new file mode 100644
index 0000000..cf7a1c7
--- /dev/null
+++ b/third_party/wasmer/wasmer.hh
@@ -0,0 +1,532 @@
+#ifndef WASMER_H
+#define WASMER_H
+
+#include <cstdarg>
+#include <cstdint>
+#include <cstdlib>
+#include <new>
+
+enum class wasmer_import_export_kind : uint32_t {
+  WASM_FUNCTION,
+  WASM_GLOBAL,
+  WASM_MEMORY,
+  WASM_TABLE,
+};
+
+enum class wasmer_result_t {
+  WASMER_OK = 1,
+  WASMER_ERROR = 2,
+};
+
+enum class wasmer_value_tag : uint32_t {
+  WASM_I32,
+  WASM_I64,
+  WASM_F32,
+  WASM_F64,
+};
+
+struct wasmer_module_t {
+
+};
+
+struct wasmer_export_descriptor_t {
+
+};
+
+struct wasmer_byte_array {
+  const uint8_t *bytes;
+  uint32_t bytes_len;
+};
+
+struct wasmer_export_descriptors_t {
+
+};
+
+struct wasmer_export_func_t {
+
+};
+
+union wasmer_value {
+  int32_t I32;
+  int64_t I64;
+  float F32;
+  double F64;
+};
+
+struct wasmer_value_t {
+  wasmer_value_tag tag;
+  wasmer_value value;
+};
+
+struct wasmer_export_t {
+
+};
+
+struct wasmer_memory_t {
+
+};
+
+struct wasmer_exports_t {
+
+};
+
+struct wasmer_global_t {
+
+};
+
+struct wasmer_global_descriptor_t {
+  bool mutable_;
+  wasmer_value_tag kind;
+};
+
+struct wasmer_import_descriptor_t {
+
+};
+
+struct wasmer_import_descriptors_t {
+
+};
+
+struct wasmer_import_func_t {
+
+};
+
+struct wasmer_import_object_t {
+
+};
+
+struct wasmer_table_t {
+
+};
+
+union wasmer_import_export_value {
+  const wasmer_import_func_t *func;
+  const wasmer_table_t *table;
+  const wasmer_memory_t *memory;
+  const wasmer_global_t *global;
+};
+
+struct wasmer_import_t {
+  wasmer_byte_array module_name;
+  wasmer_byte_array import_name;
+  wasmer_import_export_kind tag;
+  wasmer_import_export_value value;
+};
+
+struct wasmer_instance_t {
+
+};
+
+struct wasmer_instance_context_t {
+
+};
+
+struct wasmer_limit_option_t {
+  bool has_some;
+  uint32_t some;
+};
+
+struct wasmer_limits_t {
+  uint32_t min;
+  wasmer_limit_option_t max;
+};
+
+struct wasmer_serialized_module_t {
+
+};
+
+struct wasmer_trampoline_buffer_builder_t {
+
+};
+
+struct wasmer_trampoline_callable_t {
+
+};
+
+struct wasmer_trampoline_buffer_t {
+
+};
+
+extern "C" {
+
+/// Creates a new Module from the given wasm bytes.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_compile(wasmer_module_t **module,
+                               uint8_t *wasm_bytes,
+                               uint32_t wasm_bytes_len);
+
+/// Gets export descriptor kind
+wasmer_import_export_kind wasmer_export_descriptor_kind(wasmer_export_descriptor_t *export_);
+
+/// Gets name for the export descriptor
+wasmer_byte_array wasmer_export_descriptor_name(wasmer_export_descriptor_t *export_descriptor);
+
+/// Gets export descriptors for the given module
+/// The caller owns the object and should call `wasmer_export_descriptors_destroy` to free it.
+void wasmer_export_descriptors(const wasmer_module_t *module,
+                               wasmer_export_descriptors_t **export_descriptors);
+
+/// Frees the memory for the given export descriptors
+void wasmer_export_descriptors_destroy(wasmer_export_descriptors_t *export_descriptors);
+
+/// Gets export descriptor by index
+wasmer_export_descriptor_t *wasmer_export_descriptors_get(wasmer_export_descriptors_t *export_descriptors,
+                                                          int idx);
+
+/// Gets the length of the export descriptors
+int wasmer_export_descriptors_len(wasmer_export_descriptors_t *exports);
+
+/// Calls a `func` with the provided parameters.
+/// Results are set using the provided `results` pointer.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_export_func_call(const wasmer_export_func_t *func,
+                                        const wasmer_value_t *params,
+                                        int params_len,
+                                        wasmer_value_t *results,
+                                        int results_len);
+
+/// Sets the params buffer to the parameter types of the given wasmer_export_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_export_func_params(const wasmer_export_func_t *func,
+                                          wasmer_value_tag *params,
+                                          uint32_t params_len);
+
+/// Sets the result parameter to the arity of the params of the wasmer_export_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_export_func_params_arity(const wasmer_export_func_t *func, uint32_t *result);
+
+/// Sets the returns buffer to the parameter types of the given wasmer_export_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_export_func_returns(const wasmer_export_func_t *func,
+                                           wasmer_value_tag *returns,
+                                           uint32_t returns_len);
+
+/// Sets the result parameter to the arity of the returns of the wasmer_export_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_export_func_returns_arity(const wasmer_export_func_t *func,
+                                                 uint32_t *result);
+
+/// Gets wasmer_export kind
+wasmer_import_export_kind wasmer_export_kind(wasmer_export_t *export_);
+
+/// Gets name from wasmer_export
+wasmer_byte_array wasmer_export_name(wasmer_export_t *export_);
+
+/// Gets export func from export
+const wasmer_export_func_t *wasmer_export_to_func(const wasmer_export_t *export_);
+
+/// Gets a memory pointer from an export pointer.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_export_to_memory(const wasmer_export_t *export_, wasmer_memory_t **memory);
+
+/// Frees the memory for the given exports
+void wasmer_exports_destroy(wasmer_exports_t *exports);
+
+/// Gets wasmer_export by index
+wasmer_export_t *wasmer_exports_get(wasmer_exports_t *exports, int idx);
+
+/// Gets the length of the exports
+int wasmer_exports_len(wasmer_exports_t *exports);
+
+/// Frees memory for the given Global
+void wasmer_global_destroy(wasmer_global_t *global);
+
+/// Gets the value stored by the given Global
+wasmer_value_t wasmer_global_get(wasmer_global_t *global);
+
+/// Returns a descriptor (type, mutability) of the given Global
+wasmer_global_descriptor_t wasmer_global_get_descriptor(wasmer_global_t *global);
+
+/// Creates a new Global and returns a pointer to it.
+/// The caller owns the object and should call `wasmer_global_destroy` to free it.
+wasmer_global_t *wasmer_global_new(wasmer_value_t value, bool mutable_);
+
+/// Sets the value stored by the given Global
+void wasmer_global_set(wasmer_global_t *global, wasmer_value_t value);
+
+/// Gets export descriptor kind
+wasmer_import_export_kind wasmer_import_descriptor_kind(wasmer_import_descriptor_t *export_);
+
+/// Gets module name for the import descriptor
+wasmer_byte_array wasmer_import_descriptor_module_name(wasmer_import_descriptor_t *import_descriptor);
+
+/// Gets name for the import descriptor
+wasmer_byte_array wasmer_import_descriptor_name(wasmer_import_descriptor_t *import_descriptor);
+
+/// Gets import descriptors for the given module
+/// The caller owns the object and should call `wasmer_import_descriptors_destroy` to free it.
+void wasmer_import_descriptors(const wasmer_module_t *module,
+                               wasmer_import_descriptors_t **import_descriptors);
+
+/// Frees the memory for the given import descriptors
+void wasmer_import_descriptors_destroy(wasmer_import_descriptors_t *import_descriptors);
+
+/// Gets import descriptor by index
+wasmer_import_descriptor_t *wasmer_import_descriptors_get(wasmer_import_descriptors_t *import_descriptors,
+                                                          unsigned int idx);
+
+/// Gets the length of the import descriptors
+unsigned int wasmer_import_descriptors_len(wasmer_import_descriptors_t *exports);
+
+/// Frees memory for the given Func
+void wasmer_import_func_destroy(wasmer_import_func_t *func);
+
+/// Creates new func
+/// The caller owns the object and should call `wasmer_import_func_destroy` to free it.
+wasmer_import_func_t *wasmer_import_func_new(void (*func)(void *data),
+                                             const wasmer_value_tag *params,
+                                             unsigned int params_len,
+                                             const wasmer_value_tag *returns,
+                                             unsigned int returns_len);
+
+/// Sets the params buffer to the parameter types of the given wasmer_import_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_import_func_params(const wasmer_import_func_t *func,
+                                          wasmer_value_tag *params,
+                                          unsigned int params_len);
+
+/// Sets the result parameter to the arity of the params of the wasmer_import_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_import_func_params_arity(const wasmer_import_func_t *func, uint32_t *result);
+
+/// Sets the returns buffer to the parameter types of the given wasmer_import_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_import_func_returns(const wasmer_import_func_t *func,
+                                           wasmer_value_tag *returns,
+                                           unsigned int returns_len);
+
+/// Sets the result parameter to the arity of the returns of the wasmer_import_func_t
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_import_func_returns_arity(const wasmer_import_func_t *func,
+                                                 uint32_t *result);
+
+/// Frees memory of the given ImportObject
+void wasmer_import_object_destroy(wasmer_import_object_t *import_object);
+
+/// Extends an existing import object with new imports
+wasmer_result_t wasmer_import_object_extend(wasmer_import_object_t *import_object,
+                                            wasmer_import_t *imports,
+                                            unsigned int imports_len);
+
+/// Creates a new empty import object.
+/// See also `wasmer_import_object_append`
+wasmer_import_object_t *wasmer_import_object_new();
+
+/// Calls an instances exported function by `name` with the provided parameters.
+/// Results are set using the provided `results` pointer.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_instance_call(wasmer_instance_t *instance,
+                                     const char *name,
+                                     const wasmer_value_t *params,
+                                     uint32_t params_len,
+                                     wasmer_value_t *results,
+                                     uint32_t results_len);
+
+/// Gets the `data` field within the context.
+void *wasmer_instance_context_data_get(const wasmer_instance_context_t *ctx);
+
+/// Sets the `data` field of the instance context. This context will be
+/// passed to all imported function for instance.
+void wasmer_instance_context_data_set(wasmer_instance_t *instance, void *data_ptr);
+
+/// Extracts the instance's context and returns it.
+const wasmer_instance_context_t *wasmer_instance_context_get(wasmer_instance_t *instance);
+
+/// Gets the memory within the context at the index `memory_idx`.
+/// The index is always 0 until multiple memories are supported.
+const wasmer_memory_t *wasmer_instance_context_memory(const wasmer_instance_context_t *ctx,
+                                                      uint32_t _memory_idx);
+
+/// Frees memory for the given Instance
+void wasmer_instance_destroy(wasmer_instance_t *instance);
+
+/// Gets Exports for the given instance
+/// The caller owns the object and should call `wasmer_exports_destroy` to free it.
+void wasmer_instance_exports(wasmer_instance_t *instance, wasmer_exports_t **exports);
+
+/// Creates a new Instance from the given wasm bytes and imports.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_instantiate(wasmer_instance_t **instance,
+                                   uint8_t *wasm_bytes,
+                                   uint32_t wasm_bytes_len,
+                                   wasmer_import_t *imports,
+                                   int imports_len);
+
+/// Gets the length in bytes of the last error.
+/// This can be used to dynamically allocate a buffer with the correct number of
+/// bytes needed to store a message.
+/// # Example
+/// ```c
+/// int error_len = wasmer_last_error_length();
+/// char *error_str = malloc(error_len);
+/// ```
+int wasmer_last_error_length();
+
+/// Stores the last error message into the provided buffer up to the given `length`.
+/// The `length` parameter must be large enough to store the last error message.
+/// Returns the length of the string in bytes.
+/// Returns `-1` if an error occurs.
+/// # Example
+/// ```c
+/// int error_len = wasmer_last_error_length();
+/// char *error_str = malloc(error_len);
+/// wasmer_last_error_message(error_str, error_len);
+/// printf("Error str: `%s`\n", error_str);
+/// ```
+int wasmer_last_error_message(char *buffer, int length);
+
+/// Gets the start pointer to the bytes within a Memory
+uint8_t *wasmer_memory_data(const wasmer_memory_t *mem);
+
+/// Gets the size in bytes of a Memory
+uint32_t wasmer_memory_data_length(wasmer_memory_t *mem);
+
+/// Frees memory for the given Memory
+void wasmer_memory_destroy(wasmer_memory_t *memory);
+
+/// Grows a Memory by the given number of pages.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_memory_grow(wasmer_memory_t *memory, uint32_t delta);
+
+/// Returns the current length in pages of the given memory
+uint32_t wasmer_memory_length(const wasmer_memory_t *memory);
+
+/// Creates a new Memory for the given descriptor and initializes the given
+/// pointer to pointer to a pointer to the new memory.
+/// The caller owns the object and should call `wasmer_memory_destroy` to free it.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_memory_new(wasmer_memory_t **memory, wasmer_limits_t limits);
+
+/// Deserialize the given serialized module.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_module_deserialize(wasmer_module_t **module,
+                                          const wasmer_serialized_module_t *serialized_module);
+
+/// Frees memory for the given Module
+void wasmer_module_destroy(wasmer_module_t *module);
+
+/// Given:
+///  A prepared `wasmer` import-object
+///  A compiled wasmer module
+/// Instantiates a wasmer instance
+wasmer_result_t wasmer_module_import_instantiate(wasmer_instance_t **instance,
+                                                 const wasmer_module_t *module,
+                                                 const wasmer_import_object_t *import_object);
+
+/// Creates a new Instance from the given module and imports.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_module_instantiate(const wasmer_module_t *module,
+                                          wasmer_instance_t **instance,
+                                          wasmer_import_t *imports,
+                                          int imports_len);
+
+/// Serialize the given Module.
+/// The caller owns the object and should call `wasmer_serialized_module_destroy` to free it.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_module_serialize(wasmer_serialized_module_t **serialized_module,
+                                        const wasmer_module_t *module);
+
+/// Get bytes of the serialized module.
+wasmer_byte_array wasmer_serialized_module_bytes(const wasmer_serialized_module_t *serialized_module);
+
+/// Frees memory for the given serialized Module.
+void wasmer_serialized_module_destroy(wasmer_serialized_module_t *serialized_module);
+
+/// Transform a sequence of bytes into a serialized module.
+/// The caller owns the object and should call `wasmer_serialized_module_destroy` to free it.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_serialized_module_from_bytes(wasmer_serialized_module_t **serialized_module,
+                                                    const uint8_t *serialized_module_bytes,
+                                                    uint32_t serialized_module_bytes_length);
+
+/// Frees memory for the given Table
+void wasmer_table_destroy(wasmer_table_t *table);
+
+/// Grows a Table by the given number of elements.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_table_grow(wasmer_table_t *table, uint32_t delta);
+
+/// Returns the current length of the given Table
+uint32_t wasmer_table_length(wasmer_table_t *table);
+
+/// Creates a new Table for the given descriptor and initializes the given
+/// pointer to pointer to a pointer to the new Table.
+/// The caller owns the object and should call `wasmer_table_destroy` to free it.
+/// Returns `wasmer_result_t::WASMER_OK` upon success.
+/// Returns `wasmer_result_t::WASMER_ERROR` upon failure. Use `wasmer_last_error_length`
+/// and `wasmer_last_error_message` to get an error message.
+wasmer_result_t wasmer_table_new(wasmer_table_t **table, wasmer_limits_t limits);
+
+/// Adds a callinfo trampoline to the builder.
+uintptr_t wasmer_trampoline_buffer_builder_add_callinfo_trampoline(wasmer_trampoline_buffer_builder_t *builder,
+                                                                   const wasmer_trampoline_callable_t *func,
+                                                                   const void *ctx,
+                                                                   uint32_t num_params);
+
+/// Adds a context trampoline to the builder.
+uintptr_t wasmer_trampoline_buffer_builder_add_context_trampoline(wasmer_trampoline_buffer_builder_t *builder,
+                                                                  const wasmer_trampoline_callable_t *func,
+                                                                  const void *ctx);
+
+/// Finalizes the trampoline builder into an executable buffer.
+wasmer_trampoline_buffer_t *wasmer_trampoline_buffer_builder_build(wasmer_trampoline_buffer_builder_t *builder);
+
+/// Creates a new trampoline builder.
+wasmer_trampoline_buffer_builder_t *wasmer_trampoline_buffer_builder_new();
+
+/// Destroys the trampoline buffer if not null.
+void wasmer_trampoline_buffer_destroy(wasmer_trampoline_buffer_t *buffer);
+
+/// Returns the callable pointer for the trampoline with index `idx`.
+const wasmer_trampoline_callable_t *wasmer_trampoline_buffer_get_trampoline(const wasmer_trampoline_buffer_t *buffer,
+                                                                            uintptr_t idx);
+
+/// Returns the context added by `add_context_trampoline`, from within the callee function.
+void *wasmer_trampoline_get_context();
+
+/// Returns true for valid wasm bytes and false for invalid bytes
+bool wasmer_validate(const uint8_t *wasm_bytes, uint32_t wasm_bytes_len);
+
+} // extern "C"
+
+#endif // WASMER_H
diff --git a/third_party/wasmer/wasmer.rs b/third_party/wasmer/wasmer.rs
new file mode 100644
index 0000000..fdcb27a
--- /dev/null
+++ b/third_party/wasmer/wasmer.rs
@@ -0,0 +1 @@
+pub extern crate wasmer_runtime_c_api;
diff --git a/tools/VERSION b/tools/VERSION
index 45046d5..b56200c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -33,7 +33,7 @@
 MAJOR 2
 MINOR 5
 PATCH 0
-PRERELEASE 4
+PRERELEASE 5
 PRERELEASE_PATCH 0
 ABI_VERSION 11
 OLDEST_SUPPORTED_ABI_VERSION 11
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index f713ade..650f810 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -1979,6 +1979,12 @@
           "arguments": ["--fatal-warnings", "pkg/vm"]
         },
         {
+          "name": "analyze pkg/vm_service",
+          "script": "out/ReleaseX64/dart-sdk/bin/dartanalyzer",
+          "arguments": ["--fatal-warnings", "pkg/vm_service"]
+        },
+
+        {
           "name": "analyze runtime/observatory",
           "script": "out/ReleaseX64/dart-sdk/bin/dartanalyzer",
           "arguments": [
diff --git a/tools/experimental_features.yaml b/tools/experimental_features.yaml
index ce25f88..495b6d5 100644
--- a/tools/experimental_features.yaml
+++ b/tools/experimental_features.yaml
@@ -92,6 +92,7 @@
 control-flow-collections:
   help: "Control Flow Collections"
   enabledIn: '2.2.2'
+  expired: true
 
 set-literals:
   help: "Set Literals"
@@ -101,3 +102,4 @@
 spread-collections:
   help: "Spread Collections"
   enabledIn: '2.2.2'
+  expired: true
diff --git a/tools/patches/flutter-engine/6e2b3f0326bc15ad938319cbbb151f183d064609.patch b/tools/patches/flutter-engine/6e2b3f0326bc15ad938319cbbb151f183d064609.patch
new file mode 100644
index 0000000..2c8dada
--- /dev/null
+++ b/tools/patches/flutter-engine/6e2b3f0326bc15ad938319cbbb151f183d064609.patch
@@ -0,0 +1,13 @@
+diff --git a/DEPS b/DEPS
+index 6205f1b6d..5c1cbf3bc 100644
+--- a/DEPS
++++ b/DEPS
+@@ -72,7 +72,7 @@ vars = {
+   'dart_mustache_tag': '5e81b12215566dbe2473b2afd01a8a8aedd56ad9',
+   'dart_oauth2_tag': '1.2.1',
+   'dart_observatory_pub_packages_rev': '0894122173b0f98eb08863a7712e78407d4477bc',
+-  'dart_package_config_tag': '1.0.5',
++  'dart_package_config_tag': '2453cd2e78c2db56ee2669ced17ce70dd00bf576',
+   'dart_package_resolver_tag': '1.0.10',
+   'dart_path_tag': '1.6.2',
+   'dart_pedantic_tag': 'v1.8.0',
diff --git a/utils/bazel/kernel_worker.dart b/utils/bazel/kernel_worker.dart
index e34fc7b..a0e5af3 100644
--- a/utils/bazel/kernel_worker.dart
+++ b/utils/bazel/kernel_worker.dart
@@ -244,15 +244,29 @@
   fe.InitializedCompilerState state;
   bool usingIncrementalCompiler = false;
   bool recordUsedInputs = parsedArgs["used-inputs"] != null;
-  if (parsedArgs['use-incremental-compiler'] &&
-      linkedInputs.isEmpty &&
-      isWorker) {
+  if (parsedArgs['use-incremental-compiler']) {
     usingIncrementalCompiler = true;
 
     /// Build a map of uris to digests.
     final inputDigests = <Uri, List<int>>{};
-    for (var input in inputs) {
-      inputDigests[_toUri(input.path)] = input.digest;
+    if (inputs != null) {
+      for (var input in inputs) {
+        inputDigests[_toUri(input.path)] = input.digest;
+      }
+    }
+
+    // If digests weren't given and if not in worker mode, create fake data and
+    // ensure we don't have a previous state (as that wouldn't be safe with
+    // fake input digests).
+    if (!isWorker && inputDigests.isEmpty) {
+      previousState = null;
+      inputDigests[_toUri(parsedArgs['dart-sdk-summary'])] = const [0];
+      for (Uri uri in summaryInputs) {
+        inputDigests[uri] = const [0];
+      }
+      for (Uri uri in linkedInputs) {
+        inputDigests[uri] = const [0];
+      }
     }
 
     // TODO(sigmund): add support for experiments with the incremental compiler.
@@ -261,7 +275,7 @@
         _toUri(parsedArgs['dart-sdk-summary']),
         _toUri(parsedArgs['packages-file']),
         _toUri(parsedArgs['libraries-file']),
-        summaryInputs,
+        [...summaryInputs, ...linkedInputs],
         inputDigests,
         target,
         fileSystem,